如何在另一个之前插入元素?

时间:2014-07-30 13:57:03

标签: javascript html

我试图在另一个元素之前获得一个元素。这样:

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>

我该怎么做?

1 个答案:

答案 0 :(得分:1)

解析完HTML后,它不再是HTML ...从中创建文档,这就是浏览器中存在的内容。有一种元素的树结构,而不是一堆带有标记的文本。

这种区别很重要的原因是你在JavaScript中使用DOM而不是HTML标记。创建元素时,它会在DOM中创建它。它不会返回并操纵原始HTML并重新解析整个文档。原始的HTML永远不会存在于JavaScript可以实现的地方。

现在,您的浏览器开发人员工具将重新生成代表DOM的HTML,但这不是原始HTML。如果您在HTML中出现语法错误,您会发现它在DOM中不存在。显示给您的DOM是浏览器如何表示您的文档,而不是HTML标记。