.toggle()不适用于IE9

时间:2015-04-29 15:51:28

标签: jquery internet-explorer-9 toggle

我想在点击链接时显示一些信息,您可以在此处找到:http://jsfiddle.net/t4f8yer0/1/

HTML:

<a href="#" class="more">show more</a> <br>
<div class="toggle">
this is more
</div>

JS:

$(document).ready(function(){
  $(".toggle").css('display','none');

  $( ".more" ).click(function() {
    $(event.target).next().next().toggle( "slow" );
  });
});

这适用于chrome和IE边缘,但不适用于IE9或IE10。这个问题有解决方案吗?

3 个答案:

答案 0 :(得分:1)

而不是:

$(event.target);

使用:

$(this);

<强> jsFiddle example

不同版本的IE存在jQuery规范化的问题,例如您在event.target中看到的内容。

答案 1 :(得分:1)

我更改了您的代码以引用toggle div类,它似乎正在运行。

$(document).ready(function(){
    $(".toggle").css('display','none');

    $( ".more" ).click(function() {
        $(".toggle").toggle("slow");
    });
});

答案 2 :(得分:1)

对于这个HTML:

<a href="#" class="more" data-target="#more1">show more</a> <br>
<div id="more1" class="toggle" style="display:none;">
    this is more
</div>

这个JS:

$(document).ready(function(){
    $( ".more" ).click(function() {
        var tgt = $(this).attr('data-target');
        $(tgt).toggle( "slow" );
    });
});

这允许您设置切换目标。 See it work here