首页 > 代码库 > 使用递归获取所有后代元素
使用递归获取所有后代元素
1 function children(ele){ 2 //定义一个空数组,用来接收子元素 3 var allEle = []; 4 //1.获取这个元素所有的子元素 5 var eles = ele.childNodes; 6 //2.再去获取子元素的子元素 7 for (var i = 0; i < eles.length; i++) { 8 //遍历获取到的所有的子元素,就能拿到每一个子元素 9 var child = eles[i]; 10 //判断是否为元素节点 11 if(child.nodeType == 1){ 13 allEle.push(child); 14 //2.再去获取当前子元素的所有子元素 15 //获取到子元素之后,将其加入数组中 16 var temp = children(child); 17 allEle = allEle.concat(temp); 18 } 19 } 20 //最终返回了数组 21 return allEle; 22 } 23
这种封装,还可以扩展为获得元素id,判断id是否是你需要的等等。
使用递归获取所有后代元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。