首页 > 技术文章 > javaScript之NodeList

microcosm 2017-07-05 19:20 原文

NodeList对象

是DOM操作取出的集合(实际上是基于DOM结构动态查询的结果),用来保存一组有序的节点,可以通过位置来访问这些节点,它并不是array的实例。

Nodelist最大的特点就是它的时效性,DOM结构的变化能自动反映在Node List对象中。也就是说当DOM结构发生变化时,NodeList立刻会发生变化。

NodeList对象转为数组方法:

   Array.prototype.slice.call(someNode.childNodes, 0) 或 [].slice(someNode.childNodes, 0)

由于IE8及更早版本不支持该方法,所以要使用手动枚举:

function covertToArray(nodes){
  var array = null;
try{
   array = Array.prototype.slice.call(nodes, 0);//非IE浏览器
}catch{
   array = new Array();
   for(var i, len = nodes.length; i<len; i++){
      array.push(nodes[i]);
   }
}
   return array;

}

 

推荐阅读