我已经累了 insertBefore 属性,它会抛出
的脚本错误未捕获DOMException:无法执行' insertBefore' on'节点':插入新节点的节点不是该节点的子节点。
我使用的代码。
parent = document.getElementById(parentid[i]);
before = document.getElementById(beforeid[i]);
appenchild1 = document.getElementById(beforeid[i]);
appenchild2 = document.getElementById(appenchild2id[i]);
newnode = document.createElement("span");
newnode.className = "verticalHparent" + btncls[i];
newnode.style.display = "inherit";
parent.insertBefore(newnode, before);
抛出insertBefore方法时出错,有什么不对吗?
答案 0 :(得分:1)
错误信息非常明确; before
节点应该是代码中parent
节点的子节点。
这是一个工作示例(查看html结构):
<div id = "parent">
<div id = "child_1">child1</div>
</div>
<button onclick="createNewElement()">Create New Child</button>
<script type="text/javascript">
function createNewElement(){
var parent = document.getElementById("parent");
var before = document.getElementById("child_0");
var newnode = document.createElement("span");
newnode.className = "verticalHparent";
newnode.style.display = "inherit";
newnode.innerHTML = "child2";
parent.insertBefore(newnode, before);
}
</script>
&#13;