Javascript jQuery-从任何<;李>;那不是';我没有点击
假设我有这样的清单Javascript jQuery-从任何<;李>;那不是';我没有点击,javascript,jquery,html-lists,removeclass,toggleclass,Javascript,Jquery,Html Lists,Removeclass,Toggleclass,假设我有这样的清单 <ul> <li class="one">One</li> <li class="two">Two</li> <li class="three">Three</li> </ul> …此外,我还希望li的,但单击的li不会显示为“.active”,同时仍保持“.active”li中的toggleClass功能 所以我在想,也许我想从任何其他李的删除类,除了点击的那一个。
<ul>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
…此外,我还希望li的,但单击的li不会显示为“.active”,同时仍保持“.active”li中的toggleClass功能
所以我在想,也许我想从任何其他李的删除类,除了点击的那一个。我不知道我怎么能做到
关于如何实现这样的目标有什么想法吗?我相信这很容易,但我不知道,因为我对jQuery非常陌生
已解决-如果有人想看。。好了:
还有这个…
这两个答案都非常有效@jondavidjohn和hunter谢谢大家。。。太糟糕了,我不能在两个答案上都打勾。。。但我会让亨特拥有它,因为他的代码更短:)将其设置为一旦某个事物处于活动状态,就始终处于活动状态:
$( "li" ).click( function() {
if( $(this).is('.active') ) {
$(this).removeClass( "active" );
}
else {
$( "li.active" ).removeClass( "active" );
$(this).addClass( "active" );
}
});
$("li:not(.active)").live("click", function() {
$(this).addClass("active");
$(this).siblings().removeClass("active");
});
$("li").click(function() {
$(this).toggleClass("active");
$(this).siblings().removeClass("active");
});
仅关注尚未激活的li
要能够停用:
$( "li" ).click( function() {
if( $(this).is('.active') ) {
$(this).removeClass( "active" );
}
else {
$( "li.active" ).removeClass( "active" );
$(this).addClass( "active" );
}
});
$("li:not(.active)").live("click", function() {
$(this).addClass("active");
$(this).siblings().removeClass("active");
});
$("li").click(function() {
$(this).toggleClass("active");
$(this).siblings().removeClass("active");
});
工作示例:可能更好:
$(“li.active”).removeClass(“active”)我更喜欢我的,因为它是我的+1@jondavidjohn这差不多就是我已经拥有的。该代码始终确保在单击的元素中有.active,因此,当您单击处于活动状态的li时,它将先删除.active,然后再添加.active,这样我就无法将其切换掉。。这也是本文的重点。编辑答案,仅为非.active
@user603568的元素定义单击事件。不确定您试图完成什么,我假设您正在尝试“单击时”,1)将.active
类添加到单击的元素,2)从未单击的元素中删除活动类。对吗?很好,我喜欢:不(.active)
+1@hunter我也有点喜欢这个定义,但我似乎无法让它起作用@亨特当然……:)但它似乎并没有从中删除类。active“from clicked”。active“lioh,如果您再次单击它,您希望能够删除该类吗?@hunter Well jondavidjohn完成了,所以我只想让您知道。。你可以停止印刷。谢谢你的努力。