Javascript:仅遍历HTML DOM元素

Javascript: traversing only HTML DOM elements

本文关键字:DOM 元素 HTML 遍历 Javascript      更新时间:2023-09-26

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

在不了解您实际如何导航树的情况下,我可以为您提供一个基本示例,展示如何检查 nodeType

function getFirstChildElement (el) {
    el = el.firstChild;
    while (el && el.nodeType !== 1)
        el = el.nextSibling;
    return el;
}
你可以

简单地使用父元素的children属性,而不是使用childNodesfirstChildlastChild等。

children ,与childNodes不同,它仅引用元素(标签(并跳过其他节点,例如文本,这正是您想要的。

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

function showChildElements (el) {
    for (var i = 0; i < el.children.length; i++) {
        alert(el.children[i].tagName);
    }
}