Непосредственные дети из списка

Быстрый вопрос.. что выражение 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);
    }
}