Câu hỏi nhanh .. câu lệnh JAVASCRIPT là gì để có được các con ngay lập tức của một DANH SÁCH? Tôi đã thử:trẻ em ngay lập tức của một danh sách
document.getElementById(id).getElementsByTagName('li');
cung cấp cho tôi tất cả các nút con.
Câu hỏi nhanh .. câu lệnh JAVASCRIPT là gì để có được các con ngay lập tức của một DANH SÁCH? Tôi đã thử:trẻ em ngay lập tức của một danh sách
document.getElementById(id).getElementsByTagName('li');
cung cấp cho tôi tất cả các nút con.
lặp qua:
document.getElementById(id).children
và nhận được những cái mà là những yếu tố li (Tôi nghĩ rằng tất cả họ nên được theo spec)
Tôi nghĩ rằng document.querySelectorAll('#id>li')
nếu nó được hỗ trợ nên làm việc là tốt. Xem: http://www.w3.org/TR/selectors-api/
Node.childNodes
hoặc Element.children
var listItems = [];
var children = elem.childNodes;
for(var i = 0; i < children.length; i++) {
if(children[i].nodeName == "LI") {
listItems.push(children[i]);
}
}
Lưu ý rằng 'childNodes' chứa tất cả các nút và chỉ các phần tử. – Gumbo
cảm ơn @Gumbo - Tôi sẽ làm rõ điểm đó trong câu trả lời sau. Không nên quan trọng đối với các danh sách nhỏ khi chúng tôi đang thử nghiệm bởi 'nodeName', nhưng có thể không hiệu quả đối với các danh sách lớn hơn. – Anurag
Sử dụng tốt hơn 'trẻ em [i] .nodeType === Node.ELEMENT_NODE' để đảm bảo đó thực sự là nút phần tử. – Gumbo
Cùng một mã nhanh hơn & tốt hơn.
var listItems = [];
var children = element.childNodes;
for(var i = 0, l=children.length; i<l; ++i) {
var child = children[i];
if(child.nodeType === 1 && child.tagName === "LI") {
listItems.push(child);
}
}
Hmm, có vẻ như trẻ em không phải là một phần của tiêu chuẩn DOM, chỉ là một phần của tắc kè và có lẽ các công cụ hiển thị khác ... childNodes có lẽ là câu trả lời hay hơn ngay cả khi bạn phải kiểm tra từng phần tử trong danh sách. –
cũng vậy là document.getElementById (id) .childNodes; điều đó sẽ chỉ cho tôi những đứa trẻ ngay lập tức? – racky
có, lưu ý rằng nếu bạn đã cài đặt firebug, bạn có thể thấy cả hai danh sách này trong cửa sổ xem ngay trên trang web này với một chiếc đồng hồ như 'document.getElementsByTagName (" ul ") [0]' –