childrenNodes属性包括所有类型的节点:TEXT_NODE,EL EMENT_NODE,COMMEN_NODE等....
你需要计算元素的数量,这里是an example solution基于DOM应在所有发动机工作:
var temp = document.getElementById('element').parentNode;
var children = temp.childNodes;
console.log(children.length); // 7
function countElements(children) {
var count=0;
for (var i=0, m=children.length; i<m; i++)
if (children[i].nodeType===document.ELEMENT_NODE)
count++;
return count;
}
console.info(countElements (children)); // 3
编辑
同样如果你想要一个函数来检索所有只使用DOM的子元素,这里是一个函数:
function childElements(node) {
var elems = new Array();
var children = node.childNodes;
for (var i=0,i < children.length ; i++) {
if (children[i].nodeType===document.ELEMENT_NODE) {
elems.push(children[i]);
return elems;
}
}
}
console.info(childElements(temp).length); //3
可能重复(http://stackoverflow.com/questions/5685184/use-javascript-to-count-immediate-child-elements-of- an-element) - 请在您提出新问题之前使用搜索。 – 2012-08-02 12:04:28
我接受你..但我需要纯粹的javascript答案不是jquery – 2012-08-02 13:04:47
如果你仔细阅读答案,你会发现它并不全部使用jQuery/ – 2012-08-02 13:21:14