-6ren"> -我有一个有两个 child 的 div,一个 和一个 . 我的问题是,当我通过执行 document.getElementById('wrap').childNodes.length 检查我的 div-6ren">
gpt4 book ai didi

javascript - 使用 javaScript 删除神秘的

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:07 25 4
gpt4 key购买 nike

我有一个有两个 child 的 div,一个 <h2>和一个<ul> .

我的问题是,当我通过执行 document.getElementById('wrap').childNodes.length 检查我的 div 的 .length 时,我得到 5 而不是 2。如果我运行 console.logchildNodes我明白了:

[<TextNode textContent="\n ">, h2, <TextNode textContent="\n ">, ul, <TextNode textContent="\n ">]

我的 HTML 看起来像这样:

<div id="wrap">
<h2>Lorem</h2>
<ul>
<li>Lorem</li>
<li>Ipsum</li>
</ul>
</div>

缩进我的代码以前从未影响过子节点的长度。

如果我在一行中键入所有内容(作为一个长单词),我将删除所有 <TextNode>它应该计为 2,而不是 5。

我不知道出了什么问题,但我想我需要删除所有空的文本节点。哪种方式最好?

谢谢你

附言。这些<TextNode textContent="\n ">出现在整个文档中,所以我需要将它们全部删除,而不仅仅是在这个特定的 div 中。

最佳答案

Firefox,对吗? Firefox will treat whitespace as a textnode .除了围绕它们编写代码外,您无能为力。或者,您可以完全摆脱所有空白,但我敢打赌这不是一种选择。这是使编写网页如此,呃,有趣的部分原因:-)

关于javascript - 使用 javaScript 删除神秘的 <TextNode textContent ="\n ">,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1967335/

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