我有一个包含 li 元素的 ul 列表。当用户单击这些 li 元素之一时,应将一个类添加到该元素。
这很容易设置,但是,当单击另一个 li 元素时,我希望从非活动 li 中删除“活动”类。
我已经解决了这个问题:http: //jsfiddle.net/tGW3D/
任何时候都应该有一个红色的锂元素。如果单击第二个然后单击第一个,则只有第一个应该是红色的。
我有一个包含 li 元素的 ul 列表。当用户单击这些 li 元素之一时,应将一个类添加到该元素。
这很容易设置,但是,当单击另一个 li 元素时,我希望从非活动 li 中删除“活动”类。
我已经解决了这个问题:http: //jsfiddle.net/tGW3D/
任何时候都应该有一个红色的锂元素。如果单击第二个然后单击第一个,则只有第一个应该是红色的。
这将从每个具有活动的 li 中删除活动类,然后将其添加到单击的元素中。
$('body').on('click', 'li', function() {
$('li.active').removeClass('active');
$(this).addClass('active');
});
你可以使用siblings
和removeClass
方法。
$('li').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
只需删除 first 的所有实例.active
,然后添加它:
$('ul li').on('click', function() {
$('ul li.active').removeClass('active');
$(this).addClass('active');
});
$('li').click(function() {
$(this).siblings().removeClass('active');
$(this).addClass('active');
});
检查:http: //jsfiddle.net/tGW3D/2/
$('li').click(function() {
$(this).addClass('active'); // add the class to the element that's clicked.
$(this).siblings().removeClass('active'); // remove the class from siblings.
});
如果你知道 jquery,你可以像下面这样链接它。
$('li').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
上面的代码将为您解决问题。试试这个演示
<script>
$(function() {
$('li').click(function() {
$("li.active").removeClass("active");
$(this).addClass('active');
});
});
</script>
$(document).on('click','ul li',function() {
$(this).addClass('active').siblings().removeClass('active');
});
此 jquery 代码可能会有所帮助。不要忘记添加Jquery CDN。
您可以使用以下代码:
$('document').on('click', 'ul li', function() {
$(this).addClass('active').siblings().removeClass("active") ;
});
您可以通过以下代码更改 css 类:
$('li').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
链接到jsfiddle