问答详情
源自:9-7 节点属性

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

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

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

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


提问者:慕粉4345620 2016-11-29 22:57

个回答

  • 老友丶
    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);});

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

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

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