gpt4 book ai didi

javascript - 文本节点对应的instanceof目标是什么?

转载 作者:行者123 更新时间:2023-12-03 08:48:51 26 4
gpt4 key购买 nike

我无法弄清楚相应的 instanceof 测试适合文本节点。在下面的节点列表示例中,有一些表格和中断,我可以使用

跳过它们
child = paymentInfo[i];
if (child instanceof HTMLBRElement || child instanceof HTMLTableElement) {
continue;
}

是否没有类似的测试来评估文本节点?似乎在 HTMLTextAreaElement 上进行试验并不是正确的选择。

NodeList with varied node types, including text elements

有一个解决方法是检查我找到的节点名称,但最好使代码与其他条件保持一致。

paymentInfo[0].nodeName == "#text"
true

最佳答案

关联的构造函数是 Text (window.Text),因此您可以使用 instanceof Text:

const foo = document.querySelector('#foo');
const textNode = foo.childNodes[0];
console.log(textNode instanceof Text);
<div id="foo">someText</div>

如果您想要引用父元素并查看子元素,同时跳过子文本节点,则可以使用 .children 获取子元素的 HTMLCollection(而不是 .childNodes,它为您提供子文本节点和子元素的 NodeList):

const foo = document.querySelector('#foo');
const children = foo.children;
console.log(children.length);
console.log(children[0]);
<div id="foo">
someText
<div id="someChild">someChild</div>
</div>

关于javascript - 文本节点对应的instanceof目标是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60183747/

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