求教!!!为什么forEach里面不能输出document.write内容

来源:9-7 节点属性

慕粉4345620

2016-11-29 22:57

求教!!!为什么forEach里面不能输出document.write内容

var li = document.getElementsByTagName('li');

 li.forEach(function(x){document.write(x.nodeName+"  "+x.nodeValue+"  "+x.nodeType);});


写回答 关注

2回答

  • 老友丶
    2016-11-30 11:51:30
    已采纳

    因为forEach是用来遍历数组的,而通过documen.getElementByTagName得到的不是数组,是一个类似于数组的东西。所以不行。

    var li = document.getElementsByTagName('li');

         var arr=[];

         for(var i=0;i<li.length;i++){

            arr.push(li[i]);

         }

         arr.forEach(function(x){document.write(x.nodeName+"  "+x.nodeValue+"  "+x.nodeType);});

    这样子可以输出,不过反而麻烦了。

    慕粉4345...

    谢谢大神!!!

    2016-11-30 19:42:34

    共 1 条回复 >

  • 冷面鲨鱼
    2016-11-30 13:53:46

    因为forEach是用来遍历数组的,而通过documen.getElementByTagName得到的不是数组,是一个类似于数组的东西。

    慕村1994...

    记得S不要漏了

    2016-12-07 21:56:50

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题