JavaScript中有insertBefore()
个元素,但是我如何在不使用jQuery或其他库的情况下插入一个元素或另一个元素呢?
JavaScript中有insertBefore()
个元素,但是我如何在不使用jQuery或其他库的情况下插入一个元素或另一个元素呢?
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
其中referenceNode
是要将newNode
放在后面的 node .如果referenceNode
是其父元素中的最后一个子元素,那就没问题,因为referenceNode.nextSibling
将是null
,insertBefore
通过添加到列表末尾来处理这种情况.
所以:
function insertAfter(newNode, referenceNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
可以使用以下代码段对其进行测试:
function insertAfter(referenceNode, newNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
var el = document.createElement("span");
el.innerHTML = "test";
var div = document.getElementById("foo");
insertAfter(div, el);
<div id="foo">Hello</div>