现在有这样一句
aDiv[i].style.display="none";
chrome完全没问题,但是IE9好像就没用。aDiv是数组,里面存着div节点对象,请问该怎么改才能让ie9兼容呢?javascriptie9兼容

解决方案 »

  1.   

    jquery方案$("aDiv[i]").hide();IE9问题多多,不支持那个属性确实没太好的办法
      

  2.   

    我的IE是10用开发者工具切换到9模式下面正常工作呀
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body><p>h</p><p>t</p><p>t</p><p>p</p>
    <script type="text/javascript">
    var aDiv=document.getElementsByTagName('p');
    aDiv[2].style.display="none";
    </script>
    </body>
    </html>估计还是你的代码有问题
      

  3.   


    数组里的div不是原来就有的,都是create出来的,不知道和这个有没有关系。现在的问题是没有很好的解决办法
      

  4.   


    msdn library并没有说ie9不支持呀:http://msdn.microsoft.com/en-Us/library/ie/ms530751
      

  5.   


    数组里的div不是原来就有的,都是create出来的,不知道和这个有没有关系。现在的问题是没有很好的解决办法
    哪你在没有插入到dom节点之前赋的样式吗?在插入到dom节点之后不可能不好使呀
      

  6.   


    数组里的div不是原来就有的,都是create出来的,不知道和这个有没有关系。现在的问题是没有很好的解决办法
    哪你在没有插入到dom节点之前赋的样式吗?在插入到dom节点之后不可能不好使呀这部分代码是这样的,难道是insertBefore的问题?我把div的display属性alert出来,确实是变成none了啊。aDiv[i]=document.createElement('div');
    for(var j=i+1;aTr[j].className=="hidden";j++)
    {
    aDiv[i].appendChild(aTr[j]);
    }
    oTBody.insertBefore(aDiv[i],aTr[j]);
    aDiv[i].style.display="none";
      

  7.   

    也有可能是这样的,div确实是隐藏了,但是里面的元素并没有隐藏。现在换了一种方法,最终的问题解决了,但是还是搞不懂IE
      

  8.   

    IE9的.style确实没效果我的IE9这个就没效果,浏览器问题