我正在用javascript写一个简单的手风琴。jQuery的JavaScript版本之前
我需要在DOM中的另一个元素之前放置一个元素。我知道我可以用jQuery的insertBefore来做到这一点,但我不熟悉如何使用JavaScript来做到这一点。
任何帮助表示赞赏。
我正在用javascript写一个简单的手风琴。jQuery的JavaScript版本之前
我需要在DOM中的另一个元素之前放置一个元素。我知道我可以用jQuery的insertBefore来做到这一点,但我不熟悉如何使用JavaScript来做到这一点。
任何帮助表示赞赏。
的原生API有.insertBefore
方法。您将要插入的元素和要插入的元素传递给它。
// Create a new textNode, get reference to container
var foo = document.createTextNode("Foo"),
div = document.getElementById("foo");
// Insert new textNode before container's firstChild
div.insertBefore(foo, div.firstChild);
对于其他人来说,你需要在parentNode上调用这个方法吗?不'nodeToInsertBefore.insertBefore(nodeToInsert);'感觉好多了? – jbabey
您可以使用insertBefore方法
请考虑参考[真实文档](https://developer.mozilla.org/en-US/docs/DOM/Node.insertBefore)而不是[w3schools](http://www.w3fools.com)。此外,你的答案应该提供的不仅仅是一个链接。 – jbabey
使用insertBefore()
:
var el = document.getElementById('elementID'),
newElement = document.createElement('div');
el.parentNode.insertBefore(newElement, el);
参考:
https://developer.mozilla.org/en-US/docs/DOM/Node.insertBefore –
如果你看一下[为的insertBefore jQuery的源(https://github.com/jquery/jquery /blob/master/src/manipulation.js),它只是调用'this.parentNode.insertBefore(elem,this);'。 – jbabey