遍历数组for(var i in node)和for(var i=0;i<node.length;i++)在这里的dom数组为什么不同?在其他一般数组结果是运行相同的

来源:9-7 节点属性

qq_杀意隆_0

2017-06-01 20:44

 //代码1
  var node=document.getElementsByTagName("li");
    for(var i in node){
      document.write("li["+(i+1)+"]:"+"<br/>"+"节点名:"+node[i].nodeName+"<br/>");
      document.write("节点值:"+node[i].nodeValue+"<br/>");
      document.write("节点类型:"+node[i].nodeType+"<br/><br/>");
        }
 //代码2
  var node=document.getElementsByTagName("li");
    for(var i=0;i<node.length;i++){
      document.write("li["+(i+1)+"]:"+"<br/>"+"节点名:"+node[i].nodeName+"<br/>");
      document.write("节点值:"+node[i].nodeValue+"<br/>");
      document.write("节点类型:"+node[i].nodeType+"<br/><br/>");
        }


写回答 关注

1回答

  • 慕勒7123956
    2017-06-02 08:45:11
    已采纳

    因为 for in 里面的i是 字符串(因为for in 除了可以遍历数组之外,还可以遍历对象的属性,所以是字符类型的),你自己写的i是数字类型的,

    在第一个循环里面第一句上写i=parseInt(i);这样就可以正常显示啦

    慕勒7123... 回复qq_杀意隆...

    比你早学习了一段时间而已

    2017-06-02 11:29:44

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题