2015-04-29 69 views
1

工作,我想說明打一個鏈接,你可以在這裏找到當一些信息:http://jsfiddle.net/t4f8yer0/1/.toggle()不與IE9

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。有沒有解決這個問題的方法?

+0

謝謝Woodsy,j08691和Ted! – Kekzus

回答

1

相反的:

$(event.target); 

使用:

$(this); 

jsFiddle example

不同版本的IE有問題,那jQuery的標準化,如你與事件所看到的。目標。

1

我改變了你的代碼,以引用toggle div類,它似乎工作。

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

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

這有效,但最重要的是,如果你有多個這樣的元素,它也會對所有其他元素產生影響。因此這不是完美的解決方案。 – Kekzus

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