js 面试题:遍历 dom 树
给定一个 dom 元素 d_elem,要求遍历所有子元素(包括嵌套的子元素),并将每个子元素作为参数传递给一个回调函数。
解法:
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) });
该解决方案采用递归的方式遍历 dom 树。
- 检查当前元素是否有子元素。如果没有,则终止递归。
- 遍历当前元素的所有子元素,并递归地调用该函数。
- 在回调函数中处理每个子元素。
以上就是如何使用递归遍历 DOM 树并对每个子元素执行回调函数?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com