25 html javascript
我有一个跨越它的div.有没有办法计算div中有多少元素然后将其作为值给出.例如,div中有5个span,然后它会计算它并提醒5个.在Javascript中请.
谢谢.
Ori*_*iol 26
如果你想要后代的数量,你可以使用
var element = document.getElementById("theElementId");
var numberOfChildren = element.getElementsByTagName('*').length
Run Code Online (Sandbox Code Playgroud)
但如果你想要直系孩子的数量,请使用
element.childElementCount
Run Code Online (Sandbox Code Playgroud)
请参阅此处的浏览器支持:http://help.dottoro.com/ljsfamht.php
要么
element.children.length
Run Code Online (Sandbox Code Playgroud)
请参阅此处的浏览器支持:https://developer.mozilla.org/en-US/docs/DOM/Element.children#Browser_compatibility
Sco*_*ott 22
您可以使用此功能,它将避免计算TextNodes.你可以选择计算孩子的孩子(即递归)
function getCount(parent, getChildrensChildren){
var relevantChildren = 0;
var children = parent.childNodes.length;
for(var i=0; i < children; i++){
if(parent.childNodes[i].nodeType != 3){
if(getChildrensChildren)
relevantChildren += getCount(parent.childNodes[i],true);
relevantChildren++;
}
}
return relevantChildren;
}
Run Code Online (Sandbox Code Playgroud)
用法:
var element = document.getElementById("someElement");
alert(getCount(element, false)); // Simply one level
alert(getCount(element, true)); // Get all child node count
Run Code Online (Sandbox Code Playgroud)
在这里尝试一下: JS小提琴
没有jQuery:
var element = document.getElementById("theElementId");
var numberOfChildren = element.children.length
Run Code Online (Sandbox Code Playgroud)
使用jQuery:
var $element = $(cssSelectocr);
var numberOfChildren = $element.children().length;
Run Code Online (Sandbox Code Playgroud)
这两种情况都只会让直接的孩子回归
| 归档时间: |
|
| 查看次数: |
66641 次 |
| 最近记录: |