技术咨询:placeholder与name属性未显示的问题求助
问题排查与修复
1. 元素类型拼写错误(核心问题)
你创建元素时把textarea拼成了tectarea——这是一个不存在的HTML标签,浏览器会将其视为未知元素,自然不会识别placeholder、name这类<textarea>专属的标准属性。
修正拼写:
const element = document.createElement("textarea");
2. 未将元素挂载到DOM
你的函数仅完成了元素创建,但没有把它插入到页面的DOM树中,就算元素属性设置正确,也不会在页面上显示。需要在函数末尾添加挂载逻辑,比如:
// 示例:添加到body,可根据实际需求替换为目标容器 document.body.appendChild(element); // 或者返回元素,让调用方自行处理挂载 // return element;
完整修复后的代码
function createNoteElement(id, content) { const element = document.createElement("textarea"); // 修正拼写错误 element.id="w3review"; element.name="w3review"; element.placeholder="Describe yourself here..."; element.maxlength="50"; element.classList.add("note"); element.value=content; element.addEventListener("change", () => { updateNote(id, element.value); }); // 将元素添加到页面DOM中 document.body.appendChild(element); }
额外说明
如果content参数不为空,textarea的placeholder会被value覆盖,只有当value为空时,占位符才会显示,这是HTML的默认行为。
内容的提问来源于stack exchange,提问作者Omid Pirdehi
相关产品推荐
相关产品推荐

