我需要遍历 HTML 页面的 DOM,而不需要考虑不是元素的节点,比如 textnodes。我只想要 HTML 页面中的标签元素。可能吗?如何?
问问题
1448 次
2 回答
1
在没有看到你实际上是如何导航树的情况下,我可以给你一个基本的例子来展示如何检查nodeType
function getFirstChildElement (el) {
el = el.firstChild;
while (el && el.nodeType !== 1)
el = el.nextSibling;
return el;
}
于 2013-10-09T15:00:19.290 回答
0
您可以简单地使用children
父元素的属性,而不是使用childNodes
, firstChild
,lastChild
等...
, children
distinctchildNodes
仅指元素(标签)并跳过其他节点,例如文本,这正是您想要的。
只是为了说明,这里有一个简短的演示:
function showChildElements (el) {
for (var i = 0; i < el.children.length; i++) {
alert(el.children[i].tagName);
}
}
于 2014-03-23T07:19:37.657 回答