繁体   English   中英

使用javascript检测HTML DOM中元素的属性

[英]Detecting attributes of elements in the HTML DOM with javascript

如此混乱,答案如此之少。 我正在尝试遍历DOM,通过id查找特定的节点,但是,这段代码有几个问题,对此我没有解释。 首先,childNodes列表的长度显示为“ 5”。 两个“ ul”,两个“ id”,如果算在内……一个运气好吗?

其次,它死于if(y[i].hasAttribute('id')===true) Firebug说这不是一个功能。 我没有理由不相信它,但是不确定为什么不是。

感谢您的任何帮助。

<div id="list">
<ul id="first"></ul>
<ul  id="second"></ul>
</div>
    <script>
        var comments=document.getElementById('list')
                        var y=comments.childNodes;
                        var count=y.length
                        for(i=0;i<count;i++)
                        {
                            document.write(y.length);
                            if(y[i].hasAttribute('id')===true)
                            { document.write('here!');}

                        }
    </script>

childNodes属性包含DOM中的所有节点,这特别意味着它包含文本节点。 您有3个-div中的换行符/换行符。

您可以使用nodeType属性测试元素子级(请参见例如此处1代表ELEMENT_NODE3代表TEXT_NODE )。

如果使用Firebug之类的工具并检查DOM本身,则会看到一个元素的所有子元素以及.children和.childNodes之间的区别。

正是通过在DOM中四处寻找,我发现了为什么有那么多东西一开始看上去是彼此重复的,但绝对不是。 Mozilla开发人员站点developer.mozilla.org也是大量信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM