码迷,mamicode.com
首页 > 其他好文 > 详细

使用递归获取所有后代元素

时间:2016-12-01 04:11:17      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:function   ret   var   children   遍历   for   等等   数组   color   

 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是否是你需要的等等。

使用递归获取所有后代元素

标签:function   ret   var   children   遍历   for   等等   数组   color   

原文地址:http://www.cnblogs.com/chihuoxiaoye/p/6120393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!