如何在 javascript 中的特定位置追加一个 child 节点?
我想在 div 中的第3个位置添加一个 child Node。后面还有其他节点需要向后移动(3变成4等等)
你可以使用 强 > .insertBefore()强:
.insertBefore()
parentElement.insertBefore(newElement, parentElement.children[2]);
对于这一点,有3个选项: . sertBefore ()、 . insert tAdjacentElement ()或. insert tAdjacentHtml ()
var insertedElement = parentElement.insertBefore(newElement, referenceElement);
在你的情况下,你可以做的 菲利克斯 · 克林回答
var insertedElement = parentElement.insertBefore(newElement, parentElement.children[2]);
.insertAdjacentElement()
referenceElement.insertAdjacentElement (where, newElement);
对你来说是的
parentElement.children[1].insertAdjacentElement("afterEnd", newElement);
.insertAdjacentHTML()
referenceElement.insertAdjacentElement (where, newElementHTML);
parentElement.children[1].insertAdjacentElement("afterEnd", "<td>newElementHTML</td>");
简而言之,
Element.prototype.insertChildAtIndex = function(child, index) { if (!index) index = 0 if (index >= this.children.length) { this.appendChild(child) } else { this.insertBefore(child, this.children[index]) } }
然后,
var child = document.createElement('div') var parent = document.body parent.insertChildAtIndex(child, 2)
当当当!
当扩展原生 可能会很麻烦时要注意