我尝试使用Vanilla Javascript在H2标记前插入一个节点。我以为insertBefore是我想要的,但我可能错了。
const nodes = document.getElementsByTagName("h2");
divMove = document.createElement("div");
divMove.className = "contents";
nodes[0].insertBefore(divMove, nodes[0]);
我应该使用什么javascript命令在页面上的第一个h2之前插入一个div。任何帮助都是感激的。它发生在多个页面上,其中h2 id不会相同。
3条答案
按热度按时间ijnw1ujt1#
你的代码很接近。缺少的一点是
Node.insertBefore()
是一个需要在目标的 * 父节点 * 上调用的方法:Node
接口的insertBefore()
方法在 reference node 之前插入一个节点,作为指定 parent node 的子节点。djmepvbi2#
您可以使用
element.insertAdjacentHTML()
缩短练习:nkhmeac63#
可以使用
Element#before
代替,更加方便直观,这种方法直接在指定元素前插入节点;根本不需要考虑父。