我正在尝试在“添加div”按钮之前插入div。我收到此代码的节点未找到错误:
document.getElementById("reg").insertBefore(newField, document.getElementById("op"));
但是这段代码可行,即使它不是我想要的结果:
document.getElementById("reg").insertBefore(newField, document.getElementById("op").parentNode);
这是来源:
<form id="reg">
<div class="section">
<div class="sectionHeader">Welcome</div>
<div id="op1">
<div class="split25">
<select></select>
</div>
<div class="split25">
<select></select>
</div>
<div class="split50">
<input>
</div>
</div>
<div class="additional" id="op"><button></div>
</div>
<form>
为什么它可以访问其父节点而不能访问它自己?
答案 0 :(得分:1)
当您插入之前,第二个参数必须是基础对象的CHILD
parentNode.insertBefore(newNode, existingNode);
如果existingNode不是parentNode的子节点,则会失败。这就是您的代码中发生的事情。