一个简单的问题...获取列表的直接子元素的javascript语句是什么?我尝试了:
document.getElementById(id).getElementsByTagName('li');
这会给我所有子节点。
一个简单的问题...获取列表的直接子元素的javascript语句是什么?我尝试了:
document.getElementById(id).getElementsByTagName('li');
这会给我所有子节点。
循环遍历:
document.getElementById(id).children
并获取那些是li元素的(我认为它们都应该是,根据规范)
如果被支持的话,我认为document.querySelectorAll('#id>li')
也同样可以工作。参见:
http://www.w3.org/TR/selectors-api/
Node.childNodes
or 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]);
}
}
childNodes
包含所有节点,但仅限元素。 - GumbonodeName
进行测试不会有影响,但对于大列表可能是低效的。 - Anuragchildren[i].nodeType === Node.ELEMENT_NODE
来确保它确实是一个元素节点。 - Gumbovar 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);
}
}
document.getElementsByTagName(“ul”)[0]
的监视器在此网站上查看这两个列表。 - Bill BarryquerySelectorAll
的正确形式是document.getElementById('id').querySelectorAll("li")
。 - Zach SaucierquerySelectorAll
在 Document 和 Element 类中都可用:https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll - Bill Barry