从li上删除class属性

时间:2016-11-30 20:50:49

标签: javascript jquery

我在html中有以下代码。我只想在点击其他li时删除活动类,并将活动类添加到单击它的li上。

<ul class="pagination" id="paginationUL">
    <li class="active"><a href="#">1</a></li>
    <li  onclick="javascript:selectThis()"><a href="#">2</a></li>

我首先尝试删除该类,但它无效。请建议。

function selectThis() {
    $('ul[class="pagination"] li[class="active"]').removeClass("active"));
}

编辑了脚本,它正在运行。

5 个答案:

答案 0 :(得分:2)

您的选择器不正确。您需要使用ID(#)或类(.)选择器:

$('#paginationUL li.active').removeClass("active");

但是,最好不要使用侵入式事件处理程序,而是按照以下方式执行操作:

$('#paginationUL > li').on('click', function() {  
    $(this).addClass('active').siblings('.active').removeClass('active');
});

后一个示例将active类应用于点击的元素,并将其从<ul>中的任何其他元素中删除。

答案 1 :(得分:1)

您的选择器不正确。使用#paginationUL[class="pagination"] li[class="active"]ul.pagination li.active#paginationUL li.active

答案 2 :(得分:1)

你可以使用这样的东西

$("#paginationUL li").click(function() {
    $(this).toggleClass("active");
    $(this).siblings().removeClass("active");
});

答案 3 :(得分:1)

如果您正在使用jquery,那么应该这样做:

$('#paginationUL li').click(function(){
    $('#paginationUL li').removeClass("active");
    $(this).addClass('active');
});

答案 4 :(得分:0)

您可以编写一行来绑定该菜单中的所有Priceable元素。 li选择器会针对所点击的元素执行操作,而$(this)选项会对所有其他子.siblings()元素执行操作。

&#13;
&#13;
li
&#13;
$('#paginationUL > li').click(function(){
  $(this).addClass('active').siblings().removeClass('active')
})
&#13;
.active { background: orange; }
&#13;
&#13;
&#13;