使用jQuery单独切换div可见性

时间:2010-06-24 19:41:56

标签: jquery html toggle

我有一个简单的jQuery函数,可以在单击时切换div的可见性。该功能的问题在于它不能应用于同一页面上的多个项目,或者它们都可以串联切换。有没有办法绕过这个而不必为每个实例分配一个唯一的类?

jQuery的:

 $(function(){
    $(".toggleThis").click(function(){
         $(".hiddenText").slideToggle("fast");
            $(this).html(function(i,html) {
                if (html.indexOf('+') != -1 ){
                   html = html.replace('+','-');
                } else {
                   html = html.replace('-','+');
                }
                return html;
            })
    });
}); 

HTML:

<p class="toggleThis">Blah blah + <p>
<div class="hiddenText">
<p>Blah blah</p>
</div>

css:

.hiddenText {display: none;}

谢谢!

1 个答案:

答案 0 :(得分:3)

而不是:

 $(".hiddenText").slideToggle("fast");

使用此:

 $(this).next(".hiddenText").slideToggle("fast");

此方法相对于点击的元素(使用.next())而不是所有class="hiddenText"找到它。如果中间的元素不在您的示例中,请改用.nextAll(".hiddenText:first")