每一个节点都有一个ChildNodes属性,其中保存着一个类数组对象,有length属性,同时可以通过item()或者[]来访问每一项,当然,也可以转化成数组
转化方法
function ConvertToArray(nodes){ var array=null; try{ array=Array.prototype.slice.call(nodes,0);//非ie浏览器 ie8-将NodeList实现为COM对象,不能用这种方式检测 }catch(ex){//ie8- array=new Array(); for(var i=0;i<nodes.length;i++){ array.push(nodes[0]); } } return array; }
知识点
1、Array.prototype.slice.call()实现类数组到数组的转化
2、DOM中的变化会自动反映在ChildNodes中
3、try-catch可以当做一种检测怪癖(bug)的方式