如何使用递归遍历 DOM 元素及其所有子元素?

如何使用递归遍历 dom 元素及其所有子元素?

深度遍历 dom 元素

javascript 面试中,经常会遇到需要遍历 dom 元素及其子元素的任务。这涉及到根据某些条件获取和处理所有元素。

假设你收到一个 dom 元素 d_elem,要求遍历其所有子元素,包括不同层次的子元素。要实现这个任务,可以使用一种称为递归的方法。

以下 javascript 代码展示了如何递归遍历 dom 元素:

function recursive(el, callback) {
    if (!el.childNodes) return;
    for (var elIndex in el.childNodes) {
        recursive(el.childNodes[elIndex], callback);
        callback(el.childNodes[elIndex]);
    }
}

recursive(document.body, function(el){console.log(el)})

这个递归函数 recursive 逐级遍历 el 的所有子元素,并使用提供的回调函数 callback 对每个子元素执行操作。在本例中,回调函数用于在控制台中记录子元素。调用 recursive(document.body, function(el){console.log(el)}) 将遍历整个文档主体的内容并输出其所有子元素。

以上就是如何使用递归遍历 DOM 元素及其所有子元素?的详细内容,更多请关注其它相关文章!