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