我需要点击Toggle以获取jQuery以删除.hidesome并将其更改为.show,反之亦然。
无法得到这个...已经过了4个小时的搜索。
<a href="#" class="button">Toggle</a>
<div class="signatureContain">
<div class="signature hidesome">
When the button above is pressed you should see the rest<br />
"the rest"
</div>
</div>
<a href="#" class="button">Toggle</a>
<div class="signatureContain">
<div class="signature hidesome">
When the button above is pressed you should see the rest<br />
"the rest"
</div>
</div>
('.signatureContain').live('click',function(){
if ($(this).hasClass('hidesome'))
{
$(this).removeClass('hidesome');
$(this).addClass('show');
} else
{
$(this).removeClass('show')
$(this).addClass('hidesome');
}
});
.hidesome{ height:20px;overflow:hidden}
.show{ height:auto }
答案 0 :(得分:2)
您可以使用.toggleClass
,但我认为您在其余的代码中有点偏差。您可能希望绑定到.signatureContain
并找到兄弟 .button
,然后找到其.signatureContain
子项,而不是绑定到.signature
。你也错过了$
。我在这里解决了所有问题:
.toggleClass
版本:http://jsfiddle.net/w3Hg3/5/
答案 1 :(得分:1)
使用toggleClass方法。
$('.signatureContain').on('click', function(event){
$(this).toggleClass("hidesome show");
});
答案 2 :(得分:0)
请记住将事件侦听器设置为按钮而不是容器.signatureContain
$('a.button').on('click',function(){
$(this).next('.signatureContain').children('.signature').toggleClass('show');
});
.on在性能上优于现场:http://www.jquery4u.com/jquery-functions/on-vs-live-review/
通过使用孩子,你可以比使用find更具体。