我想验证点击了哪个“.quality”元素
$("#content").on('click', ".delinquent > .quality", function(){
selected = this;
$(".quality", $(selected).parent()).each(function(){
if (selected == this){
$(this).toggleClass("selected", true);
$(this).toggleClass("unselected", false);
}else{
$(this).toggleClass("selected", false);
$(this).toggleClass("unselected", true);
}
});
})
这是我尝试使用的代码,但它似乎不起作用,因为所有.quality跨度都有.selected类。
答案 0 :(得分:0)
Event Delegation在Javascript中是一件很棒的事情。
事件对象包含target
,它是触发事件的元素。您可以像这样访问它:
$("#content").on('click', ".delinquent > .quality", function (e) {
console.log(e.target);
});
答案 1 :(得分:0)
我想我明白你要做什么。您希望在单击的质量项目上应用选定的类,并在其余质量项目上应用未选择的类。假设所有.quality
元素都是彼此的兄弟元素,您可以像这样简化代码。
$("#content").on('click', ".delinquent > .quality", function(){
$(this)
//Add selected class to the current item clicked
.removeClass('unselected').addClass('selected')
//Find all the siblings and add unselected class
.siblings().removeClass('selected').addClass('unselected);
})