我想知道我在这里做错了什么。 我有一个可以选择的列表,选择后会设置“单击”类。但是当我选择另一个元素时,应该取消选择上一个元素并将单击的类传递给新元素,但在我的情况下,这不会发生!?
这是我的 jQuery 代码:
$(".select-examn-row-item").hover(
function() {
$(this).addClass('hovered');
}, function() {
if(!$(this).hasClass('clicked') ){
$(this).removeClass('hovered');
}
}
);
$(".select-examn-row-item").click(function(e){
e.preventDefault();
e.stopPropagation;
$(this).find('clicked').removeClass('clicked');
$(this).addClass('clicked');
});
也许有人可以在这方面指导我。 And my working Fiddle
最佳答案
您的删除类点击缺少 .字首。此外,您还需要从子元素中删除 clicked,然后将其添加到父元素中。逻辑行不通。 悬停时发生的多种行为也需要管理。 一种解决方案是将您的删除类调用替换为:
$('.clicked:not(:hover)').removeClass('clicked hovered');
关于jQuery onclick 添加类并在选择另一个元素时将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30289778/