参见英文答案 > How to insert an element after another element in JavaScript without using a library? 17个
我想在一个ul元素中使用javascript追加一个li元素,这是我到目前为止的代码..
var parentGuest = document.getElementById("one");
var childGuest = document.createElement("li");
childGuest.id = "two";
我熟悉appendChild,
parentGuest.appendChild(childGuest);
但是,这会将新元素添加到另一个元素中,而不是在其后.如何在现有元素之后附加新元素?谢谢.
<ul>
<li id="one"><!-- where the new li is being put --></li>
<!-- where I want the new li -->
</ul>
解决方法:
您可以使用:
if (parentGuest.nextSibling) {
parentGuest.parentNode.insertBefore(childGuest, parentGuest.nextSibling);
}
else {
parentGuest.parentNode.appendChild(childGuest);
}
但是正如Pavel指出的那样,referenceElement可以为null / undefined,如果是这样,insertBefore就像appendChild一样.所以下面的内容相当于上面的内容:
parentGuest.parentNode.insertBefore(childGuest, parentGuest.nextSibling);