我使用下面的代码来获取html文档中p
标记的数量。我有2个p
标记,但此代码为我返回"undefined"
:
document.write(document.getElementsByTagName('p').childElementCount);
答案 0 :(得分:1)
childElementCount
会返回 Node
所包含的孩子的数量。
document.getElementsByTagName()
会返回 HTMLCollection
- 包含Node
个对象的集合 - 这些对象没有childElementCount
属性。
要获取HTMLCollection
中包含的元素总数,您只需使用其length
属性:
document.getElementsByTagName('p').length;
答案 1 :(得分:0)
这应该适合你。
console.log(document.getElementsByTagName('p').length)
如果你想获得childElements:
,你也可以这样做var paragraphs = document.getElementsByTagName('p');
console.log(paragraphs[0].childElementCount);
您遇到的问题是getElementsByTagName
正在返回段元素的类数组对象。您需要一个这些元素,然后您可以在该元素上调用childElementCount
。
将以上内容粘贴到Chrome控制台调试程序中,您应该看到值输出。