Непосредственные дети из списка
Быстрый вопрос.. что выражение JAVASCRIPT для получения непосредственных детей СПИСОК? Я пробовал:
document.getElementById(id).getElementsByTagName('li');
который дает мне все дочерние узлы.
Ответы
Ответ 1
:
document.getElementById(id).children
и получить те, которые являются элементами li (я думаю, что все они должны соответствовать спецификации)
Я думаю, что document.querySelectorAll('#id>li')
, если он поддерживается, должен работать. Видеть:
http://www.w3.org/TR/selectors-api/
Ответ 2
Node.childNodes
или 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]);
}
}
Ответ 3
Этот же код работает быстрее и лучше.
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);
}
}