Thuộc tính childrenNodes bao gồm tất cả các loại nút: TEXT_NODE, EL EMENT_NODE, COMMEN_NODE, vv ....
Bạn cần phải đếm số lượng các yếu tố, đây là an example solution dựa trên DOM mà nên làm việc trong tất cả các động cơ:
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
EDIT
Tương tự nếu bạn muốn có một hàm để truy xuất tất cả các phần tử con chỉ sử dụng DOM, đây là một hàm:
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
Nguồn
2012-08-02 11:50:55
thể trùng lặp của [Sử dụng javascript để đếm phần tử con mắt của một phần tử] (http://stackoverflow.com/questions/5685184/use-javascript-to-count-immediate-child-elements-of- một phần tử) - vui lòng sử dụng tìm kiếm trước khi bạn đặt một câu hỏi mới. –
Tôi chấp nhận bạn .. Nhưng tôi cần câu trả lời javascript tinh khiết không jquery –
Nếu bạn đọc câu trả lời cẩn thận, bạn sẽ thấy rằng nó không sử dụng jQuery ở tất cả/ –