我在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"));
}
编辑了脚本,它正在运行。
答案 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()
元素执行操作。
li
&#13;
$('#paginationUL > li').click(function(){
$(this).addClass('active').siblings().removeClass('active')
})
&#13;
.active { background: orange; }
&#13;