NodeList是一个类似于数组,但又有区别于数组的一种类数组对象,为什么说NodeList类似于数组呢,因为NodeList对象,可以使用和数组取值方式同样的取值方式(中括号加下标取值),但是却又没有Array对象中常用的方法,slice,push,pop等,又不同于数组,是因为NodeList是一个实时变化的数组(大多数情况下,它是一个live的集合),即如果文档中的节点树发生变化,则已经存在的NodeList对象也可能会变化。
javascript中NodeList转换成数组的方法
方法1:
<!-- 一般用此方法转换成数组,但是在IE8及更早版本吧nodelist实现成一个COM对象,不能用js对象的方法,所以IE8之前需要枚举所有对象 --> Array.prototype.slice.call(someNode.childNodes,0);
方法2:通用的方法
<!-- 通用的方法 --> function convertListToArray(nodes) { var array = null; try{ array = Array.prototype.slice.call(nodes,0); }catch(ex){ array = new Array(); for(var i = 0,len = nodes.length;i < len;i++) { array.push(nodes[i]); } } return array; }
更多web前端知识,请查阅 HTML中文网 !!
以上就是javascript中NodeList如何转数组?的详细内容,更多请关注易知道|edz.cc其它相关文章!