javascript中NodeList如何转数组?

javascript中NodeList如何转数组?下面本篇文章给大家介绍一下javascript中将NodeList转换为数组的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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如何转数组?的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » JavaScript 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏