gpt4 book ai didi

javascript - 文档createTextNode困惑

转载 作者:行者123 更新时间:2023-11-28 01:01:53 24 4
gpt4 key购买 nike

这里我有一个示例,其中使用 element.replaceChild() 方法替换无序列表的第一个子节点。要替换前一个节点,使用 documen.createTextNode() 创建一个 textNode。但问题是它被称为replaceChild方法,那么它应该替换子项。我用 textNode 替换它。但令人惊讶的是,被替换的子项前面有一个项目符号标签。由于 textNode 不是列表项,那么为什么项目符号标签没有被删除。虽然问题不是一个严肃的。发布它只是为了满足我的好奇心。谢谢!!

jsFIDDLE

<!DOCTYPE html>
<html>
<body>

<ul id="myList"><li>Coffee</li><li>Tea</li><li>Milk</li></ul>

<p id="demo">Click the button to replace the first item in the the list</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction()
{
var textnode=document.createTextNode("Water");
var item=document.getElementById("myList").childNodes[0];
item.replaceChild(textnode,item.childNodes[0]);
}
</script>


</body>
</html>

最佳答案

item 指的是第一个 li 元素。然后,您将替换 li 元素的第一个子元素 (item.childNodes[0]),即文本节点 Coffee

您永远不会替换 li 元素,而只是替换它的内容。

如果要替换 li 元素,请使用

var item=document.getElementById("myList");

相反。

关于javascript - 文档createTextNode困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com