IE不会切换元素

时间:2010-07-28 08:18:34

标签: javascript internet-explorer

我的页面上有这个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>

在现代浏览器上运行良好,但IE一直说该行有错误

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

因此它不会切换div,也不会切换图像。怎么办?

2 个答案:

答案 0 :(得分:1)

我认为问题是在HTMLElement上调用toggle()而不是jQuery对象。您应该使用jQuery选择器而不是像这样的getElementById():

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

答案 1 :(得分:1)

在我看来,你正在使用PrototypeJS库。该库将向DOM元素添加方法,在这种特殊情况下,它会添加HTMLElement.prototype.toggle。 DOM原型仅在IE8及更高版本中受支持,并且必须以标准模式呈现。要使其在所有浏览器中都有效,请使用$()方法代替getElementById()

$('cat').toggle();

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