这应该是一个非常基本的修复。我想在点击已经突出显示的按钮时删除所选的类。我希望在任何给定时间只能突出显示一个按钮。
http://jsfiddle.net/7wy7sjm5/1/
编辑:我之所以首先执行所有删除类的原因是因为当单击一个时,我只希望突出显示一个,而不是先前点击的那些仍然突出显示。当点击已突出显示的同一按钮时,想要删除突出显示。希望这是有道理的。$(".details-btn").on("click", function(){
var $this = $(this);
//Add/Remove selected for button
$(".details-btn").removeClass("selected");
$this.toggleClass("selected");});
答案 0 :(得分:1)
$(' .details-btn')传递该类的所有元素的数组并删除该类,然后将该类添加到单击的元素。
表格元素也会使用选择器' .details-btn'来监听任何点击。 $(this)将始终是触发事件的元素。
$("table").on("click", ".details-btn", function(){
$('.details-btn').removeClass('selected');
$(this).addClass('selected');
});
答案 1 :(得分:0)
使用addClass而不是toggleClass,应该修复它:)
removeClass已经从所有按钮中删除了类,因此您只需要将该类添加到“this”按钮。
$(".details-btn").on("click", function(){
var $this = $(this);
//Add/Remove selected for button
$(".details-btn").removeClass("selected");
$this.addClass("selected");
});
答案 2 :(得分:0)
试试这段代码:
$(".details-btn").on("click", function(){
var $this = $(this);
$(".details-btn").removeClass("selected"); // remove class from all buttons
$(this).addClass("selected"); // add class to currently clicked button
});