gpt4 book ai didi

javascript - 将 javascript childNodes.length 属性与 elem 一起使用时出现问题

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

我有一个具有拖放功能的 TreeView 。拖放完成后,我需要找到新父节点的子节点数。为此,我使用以下内容线

var childnodelength=elem.parentNode.parentNode.childNodes.length;

alert(childnodelength);

但无论编号如何,我总是得到相同的值 4。 child ,有上述警报。我也尝试过以下方式。

alert(elem.getElementsByTagName("A")[0].childNodes.length);

无论编号如何,上面的行总是给我 1。的 children 。我不确定我在这两种方面的引用是否正确。

因此我无法找到编号。子节点数。

请有人帮我解决这个问题吗?

谢谢

最佳答案

请记住,childNodes 仅向下查找一级,因此只要您具有相同数量的直接子节点,该值就会相同。也许您想要的是一直数到树下的所有 child ?

如果您想要所有子元素,可以使用getElementsByTagName("*")。请注意,"*" 参数的使用在 IE5.5 中不起作用,这也可能会给较新版本的 IE 在怪异模式下运行时带来麻烦。

关于 childNodes.length 的另一件值得了解的事情是,由于计算文本节点的方式不同,它在 IE 中返回的值可能与其他浏览器不同。 。 。如果您想排除文本节点并仅计算元素,您可以循环遍历 childNodes 并检查 nodeType 的值(1 = ELEMENT_NODE、2 = ATTRIBUTE_NODE、3 = TEXT_NODE 等)您还可以使用 children如果您只需要元素节点,请使用 > 而不是 childNodes,但在 IE 中,这会错误地计算注释节点,并且在 Firefox 中,直到版本 3.5 才支持它。

关于javascript - 将 javascript childNodes.length 属性与 elem 一起使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927081/

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