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

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

遍历所有 dom 子元素

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);
});

在这个函数中:

  • el 是要遍历的 dom 元素
  • callback 是一个将应用于每个子元素的回调函数

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