如何在所需位置添加动态创建的节点(标记)?

时间:2010-01-02 11:54:19

标签: javascript html dom

假设我的页面上有两个DIV。

<body>
<div id="d1"></div>
<div id="d2"></div>
</body>

我想使用JavaScript动态创建一个新的DIV,并将它放在 d1 d2 之间。如果我使用appendChild方法,则将新DIV放在最后。

现在我只能考虑削减身体的innerHTML并将新的DIV附加到所需的位置。还有更好的方法吗?

3 个答案:

答案 0 :(得分:2)

insertBefore

document.body.insertBefore( 
    newNode, 
    document.getElementById('d2') 
);

答案 1 :(得分:1)

Node.insertBefore method在另一个节点之前插入一个节点:

var newNode = document.createElement("div"),
    d2 = document.getElementById("d2");
d2.parentNode.insertBefore(newNode, d2);

答案 2 :(得分:0)

对于DOM操作,jQuery API提供了各种有用的方法。以下是其中一些: -

insertBefore(),insertAfter(),append(),appendTo(),prepend(),prependTo()等。这些函数提供了对在网页中特定位置插入DOM元素的更多控制。