-2

我需要遍历 HTML 页面的 DOM,而不需要考虑不是元素的节点,比如 textnodes。我只想要 HTML 页面中的标签元素。可能吗?如何?

4

2 回答 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等...

, childrendistinctchildNodes仅指元素(标签)并跳过其他节点,例如文本,这正是您想要的。

只是为了说明,这里有一个简短的演示:

function showChildElements (el) {
    for (var i = 0; i < el.children.length; i++) {
        alert(el.children[i].tagName);
    }
}
于 2014-03-23T07:19:37.657 回答