我知道for in可以遍历数组,那么getElementByTagName[x]也是个数组,可以这样来遍历网页中具有相同标记的元素吗,我觉得这样写简单得多。for x in getElementByTagName[x]这样写对吗

解决方案 »

  1.   

    for a in b
    遍历的是b的属性,当且仅当b是纯数组的情况才会遍历数组元素.
      

  2.   


    var tagName = "div";
    var divElements =  document.getElementByTagName(tagName);
    for(var oneElmelent in divElements){
      //use oneElement to do something here.
    }
      

  3.   


    <script>
    window.onload=function(){
      var a = document.getElementsByTagName("div");
      for(x in a){
         if(x!="length") alert(a[x].innerHTML);
      }
    }
    </script>
    <div>1</div>
    <div>2</div>
    <div>3</div>
      

  4.   


    <script>
    window.onload=function(){
      var a = document.getElementsByTagName("div");
      for(x in a){
        if(x!="length") alert(a[x].innerHTML);   
      }
    }   
    </script>
    <div>1 </div>
    <div>2 </div>
    <div>3 </div> 
      

  5.   

    但是hookee给的代码在Firefox中会多弹出2次undefine,不知为什么?在IE中正常
      

  6.   

    FF不止length这个属性.
    你直接alert(x)就能看到.
      

  7.   

    for-in语句严格的迭代语句,用于枚举对象的属性,如果要遍历数组,数组必需是纯数组
     var a = document.getElementsByTagName("div");在FF下的属性除了length,还有两个扩展的方法item, namedItem