其他相关问题都没有有效的答案,因此我决定自己在这里问。
在编写JavaScript时,无论我尝试什么,我都会收到以下错误:
无法在"节点"上执行"insertBefore":要在其之前插入新节点的节点不是此节点的子节点。
这是我在替换变量名称后的代码行:
newElement.insertBefore(document.body, aChildOfDocumentBody);
newElement
和aChildOfDocumentBody
都用getElementById
定义。
即使我尝试newElement.insertBefore(document.body, document.body.children[0])
JavaScript也说孩子不属于document.body
。我做错了什么?
这似乎只是函数调用中变量的错误排序
newElement.insertBefore(document.body, document.body.children[0])
应该(我认为)是
document.body.insertBefore(newElement, document.body.children[0]);
我已经找到了一个解决方案,并在这里为其他人写这篇文章:
您需要在父级上使用.insertBefore
!
所以我应该做document.body.insertBefore(newElement, ...)
如果只有这种方法有一个文档字符串...