我试图在另一个元素之前获得一个元素。这样:
var textP = document.createElement("p");
textP.innerHTML = text;
form.appendChild(textP);
这是:
<p>Test</p>
<input type="text" name="test"></input>
但我想要这个:
<p>Test</p><input type="text" name="test"></input>
我该怎么做?
答案 0 :(得分:1)
解析完HTML后,它不再是HTML ...从中创建文档,这就是浏览器中存在的内容。有一种元素的树结构,而不是一堆带有标记的文本。
这种区别很重要的原因是你在JavaScript中使用DOM而不是HTML标记。创建元素时,它会在DOM中创建它。它不会返回并操纵原始HTML并重新解析整个文档。原始的HTML永远不会存在于JavaScript可以实现的地方。
现在,您的浏览器开发人员工具将重新生成代表DOM的HTML,但这不是原始HTML。如果您在HTML中出现语法错误,您会发现它在DOM中不存在。显示给您的DOM是浏览器如何表示您的文档,而不是HTML标记。