为了账号安全,请及时绑定邮箱和手机立即绑定

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

 //代码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 回答

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

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

2 回复 有任何疑惑可以回复我~
#1

qq_杀意隆_0 提问者

哥们厉害啊
2017-06-02 回复 有任何疑惑可以回复我~
#2

慕勒7123956 回复 qq_杀意隆_0 提问者

比你早学习了一段时间而已
2017-06-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信