我有一个简单的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;}
谢谢!
答案 0 :(得分:3)
而不是:
$(".hiddenText").slideToggle("fast");
使用此:
$(this).next(".hiddenText").slideToggle("fast");
此方法相对于点击的元素(使用.next()
)而不是所有class="hiddenText"
找到它。如果中间的元素不在您的示例中,请改用.nextAll(".hiddenText:first")
。