Jquery addRemove类-If语句
我需要在单击切换时将jQuery删除.hidesome并将其更改为.show,反之亦然 找不到这个…已经找了4个小时了Jquery addRemove类-If语句,jquery,addclass,removeclass,Jquery,Addclass,Removeclass,我需要在单击切换时将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<
<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 }
按下上面的按钮时,您应该可以看到其余的按钮
“其余的”
按下上面的按钮时,您应该可以看到其余的按钮
“其余的”
('.signatureContain').live('click',function(){
if($(this.hasClass('hidesome'))
{
$(this.removeClass('hidesome');
$(this.addClass('show');
}否则
{
$(this.removeClass('show'))
$(this.addClass('hidesome');
}
});
.hidesome{高度:20px;溢出:隐藏}
.show{height:auto}
使用该方法
使用该方法
您可以使用
.toggleClass
,但我认为您对代码的其余部分有点不了解。您可能不想绑定到.signatureContain
而是想绑定到.button
并找到同级.signatureContain
,然后找到它的.signature
子级。您还缺少$
。我在这里解决了所有问题:
.toggleClass
版本:您可以使用.toggleClass
,但我认为您对代码的其余部分有点不熟悉。您可能不想绑定到.signatureContain
而是想绑定到.button
并找到同级.signatureContain
,然后找到它的.signature
子级。您还缺少$
。我在这里解决了所有问题:
.toggleClass
版本:记住将事件侦听器设置为按钮,而不是容器。signatureContain
$('a.button').on('click',function(){
$(this).next('.signatureContain').children('.signature').toggleClass('show');
});
。on的性能优于live:
通过使用子项,您可以比使用find更具体
演示:记住将事件侦听器设置为按钮,而不是容器。signatureContain
$('a.button').on('click',function(){
$(this).next('.signatureContain').children('.signature').toggleClass('show');
});
。on的性能优于live:
通过使用子项,您可以比使用find更具体
演示:从jQuery 1.7开始,
.live()
方法已被弃用。使用.on()
附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate()
,而不是.live()
。选择器开头缺少$:$('.signatureContain')我正在使用运行1.5.3的XenForo软件进行编辑。我只需要它兼容,至少。谢谢你的评论和建议。它仍然不起作用。从jQuery 1.7开始,不推荐使用.live()
方法。使用.on()
附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate()
,而不是.live()
。选择器开头缺少$:$('.signatureContain')我正在使用运行1.5.3的XenForo软件进行编辑。我只需要它兼容,至少。谢谢你的评论和建议。它仍然不起作用。这太棒了!非常感谢。我尝试了()和delegate()。两者都不起作用。更新的代码:@GCSkye-->.on在jQuery 1.7+上。不知道为什么.delegate
不起作用。这太棒了!非常感谢。我尝试了()和delegate()。两者都不起作用。更新的代码:@GCSkye-->.on在jQuery 1.7+上。不确定为什么.delegate
不起作用。