Joo*_*nas 2 javascript jquery html-lists removeclass toggleclass
可以说我有这样的清单......
<ul>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
......我希望能够在李的家里切换班级......
$( "li" ).click(function() {
$( "li" ).toggleClass( "active" );
});
Run Code Online (Sandbox Code Playgroud)
..所以我想要li除了被点击的那个从未显示为'.active',同时仍然保持'.active'li中的toggleClass能力
所以我想也许我想从任何其他li中删除Class,除了点击的那个.我不知道我怎么能做到这一点......
关于如何实现这样的事情的任何想法?我相信它很容易,但我不知道因为我对jQuery很新
解决了 - 如果有人想看到它......我们去: http ://jsfiddle.net/6jm2s/17/ 也是这个... http://jsfiddle.net/6jm2s/18/
两个答案都很完美.. @jondavidjohn和@hunter谢谢你们......太糟糕了我不能把Checkmark放在两个答案上......但我会让猎人拥有它,因为他的代码更短...... :)
hun*_*ter 11
这样做,一旦某些东西活跃,一个人将永远活跃:
$("li:not(.active)").live("click", function() {
$(this).addClass("active");
$(this).siblings().removeClass("active");
});
Run Code Online (Sandbox Code Playgroud)
仅关注li尚未激活的.
能够停用:
$("li").click(function() {
$(this).toggleClass("active");
$(this).siblings().removeClass("active");
});
Run Code Online (Sandbox Code Playgroud)
工作实例:http://jsfiddle.net/6jm2s/18/
$( "li" ).click( function() {
if( $(this).is('.active') ) {
$(this).removeClass( "active" );
}
else {
$( "li.active" ).removeClass( "active" );
$(this).addClass( "active" );
}
});
Run Code Online (Sandbox Code Playgroud)