将javascript childNodes.length属性与elem一起使用时出现问题
我有一个具有拖放功能的树状视图。完成拖放后,我需要找到新父节点的子节点数。因此,我使用以下方法 线条 但我总是得到相同的值4,不管孩子的数量如何,与上述警报相同。 我也尝试过以下方法将javascript childNodes.length属性与elem一起使用时出现问题,javascript,dom,Javascript,Dom,我有一个具有拖放功能的树状视图。完成拖放后,我需要找到新父节点的子节点数。因此,我使用以下方法 线条 但我总是得到相同的值4,不管孩子的数量如何,与上述警报相同。 我也尝试过以下方法 alert(elem.getElementsByTagName("A")[0].childNodes.length); 不管孩子的数量如何,上面这一行总是给我1。我不确定这两种说法是否正确 因此我无法找到子节点的数量 有人能帮我吗 谢谢也许子节点是一个DIV或表,它封装了需要计数的节点?也许子节点是一个DIV或表
alert(elem.getElementsByTagName("A")[0].childNodes.length);
不管孩子的数量如何,上面这一行总是给我1。我不确定这两种说法是否正确
因此我无法找到子节点的数量
有人能帮我吗
谢谢也许子节点是一个
DIV
或表
,它封装了需要计数的节点?也许子节点是一个DIV
或表
,它封装了需要计数的节点?请记住子节点
只向下看一级,因此,只要您有相同数量的直接子对象,该值将是相同的。也许你想数一数树下所有的孩子
如果需要所有子元素,可以使用getElementsByTagName(“*”)
。请注意,“*”
参数的使用在IE5.5中不起作用,这也可能会给更新版本的IE在怪癖模式下运行带来麻烦
关于
childNodes.length
另一个好消息是,它在IE中返回的值可能与其他浏览器不同,因为计算文本节点的方法不同。如果要排除文本节点并仅计算元素,则可以在子节点之间循环并检查节点类型的值(1=元素节点,2=属性节点,3=文本节点等)。如果只需要元素节点,但在IE中不正确地计算注释节点,则也可以使用子节点
而不是子节点
,在Firefox中,直到3.5版才支持它 请记住,childNodes
只向下看一级,因此只要您有相同数量的直接子节点,该值将是相同的。也许你想数一数树下所有的孩子
如果需要所有子元素,可以使用getElementsByTagName(“*”)
。请注意,“*”
参数的使用在IE5.5中不起作用,这也可能会给更新版本的IE在怪癖模式下运行带来麻烦
关于
childNodes.length
另一个好消息是,它在IE中返回的值可能与其他浏览器不同,因为计算文本节点的方法不同。如果要排除文本节点并仅计算元素,则可以在子节点之间循环并检查节点类型的值(1=元素节点,2=属性节点,3=文本节点等)。如果只需要元素节点,但在IE中不正确地计算注释节点,则也可以使用子节点
而不是子节点
,在Firefox中,直到3.5版才支持它 treeview的HTML是什么样子的?你在Firebug中通过执行dir(elem)并深入到你想要的内容来了解这一点吗?添加示例HTML否则无法帮助你treeview的HTML是什么样子的?你在Firebug中通过执行dir(elem)来了解这一点吗然后深入到您想要的内容?添加示例HTML,否则帮助您是不可能的
alert(elem.getElementsByTagName("A")[0].childNodes.length);