代码之家  ›  专栏  ›  技术社区  ›  F.P

ie不切换元素

  •  2
  • F.P  · 技术社区  · 14 年前

    我的页面上有这个javascript来切换一个DIV并在两个图像之间切换

    <script type="text/javascript">
     function toggleArchiv() {
      document.getElementById('cat').toggle();
      var image = document.getElementById('arrow');
      if (image.src == 'bullet_arrow_down.png')
       {
        image.src = 'bullet_arrow_up.png';
       }
       else
       {
        image.src = 'bullet_arrow_down.png';
       }
      }
    </script>
    

    在现代浏览器上工作得很好.

    document.getElementById('cat').toggle();
    

    所以它不会切换DIV,也不会切换图像。怎么办?

    2 回复  |  直到 11 年前
        1
  •  1
  •   Andy E    14 年前

    在我看来,您使用的是原型JS库。库将向DOM元素添加方法,在本例中,它将添加 HTMLElement.prototype.toggle . 只有IE8和更高版本支持DOM原型制作,并且必须以标准模式呈现。要使其在所有浏览器中正常工作,请使用 $() 方法而不是 getElementById() :

    $('cat').toggle();
    

    http://api.prototypejs.org/dom/element/toggle/

        2
  •  1
  •   Karman Kertesz    14 年前

    我认为问题是在htmlelement上调用toggle(),而不是jquery对象。您应该使用jquery选择器而不是getElementByID(),如下所示:

    $('#cat').toggle();