问题描述
在JavaScript DOM中,childNodes.length返回元素和文本节点的数量。有什么方法可以只计算仅有元素的子节点的数量?例如, childNodes.length
div#posts
将返回6,当我预期2时:
< div id =posts>
<! - 一些评论 - >
<! - 另一条评论 - >
< div>元素节点< / div>
<! - 另一条评论 - >
< span>元素节点< / span>
文本节点
< / div>
不直接。文本节点(包括注释等)是子节点。
最好的办法是遍历childNodes数组,并只计算那些节点 nodeType == Node.ELEMENT_NODE
。 (并写一个函数来做。)
In JavaScript DOM, childNodes.length returns the number of both element and text nodes. Is there any way to count only the number of element-only child nodes?
For example, childNodes.length
of div#posts
will return 6, when I expected 2:
<div id="posts">
<!-- some comment -->
<!-- another comment -->
<div>an element node</div>
<!-- another comment -->
<span>an element node</span>
a text node
</div>
Not directly. Text nodes (including comments and so on) are child nodes.
Your best bet is to iterate over the childNodes array and count up only those nodes with nodeType == Node.ELEMENT_NODE
. (And write a function to do so.)
这篇关于JavaScript DOM childNodes.length也返回文本节点的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!