javascript - 正确使用 insertBefore() 的方法
问题描述
我正在尝试使用 insertBefore 添加一个元素,但它不起作用。
这两个代码有什么区别?为什么一个工作而另一个不工作。
工作代码:https ://www.w3schools.com/code/tryit.asp?filename=G7KF9MQKIA2C
不工作:https ://www.w3schools.com/code/tryit.asp?filename=G7KF978GWI24
当 insertBefore 在没有父 div 的情况下使用时,它似乎能够找到我想要的 div 的 ID。我目前正在尝试将其用于更复杂的文件,但它无法正常工作,它显示“找不到节点”。
解决方案
父子连接对于该功能的工作很重要
insertBefore() 方法在您指定的现有子节点之前插入一个节点作为子节点。
您不起作用的代码将像这样工作(再次参见定义)。一个有效的方法是因为父 html 元素是 body html 元素。
<div id="parent">
<div id="A">
a
</div>
<div id="B">
b
</div>
<div id="C">
c
</div>
</div>
<script>
var newDiv = document.createElement("div");
newDiv.innerHTML = "asdf";
newDiv.id = "idtest";
var currentDiv = document.getElementById("B");
document.getElementById('parent').insertBefore(newDiv, currentDiv);
</script>
推荐阅读
- javascript - 使用带有 discord.js 的 sql 数据库
- javascript - 如何将 bootsrap 日期选择器的格式更改为 dd-monthname-yyyy
- android - 出现键盘后调整活动大小
- sql - SQL左连接重复记录但不同的值
- ios - 使用 UIEdgeInsets 滚动时 Tableview 部分 zerk
- sql-server - 如何在 Kubernetes 中获取 MSSQL 集群的 deployment.yaml 文件
- typescript - 如何在 next.js 中使用 sass
- css - 如何选择 ::after 元素?
- python - 合并两个表
- python - 在Python中获取数组中对象的世界位置