jQuery onclick 添加类并在选择另一个元素时将其删除

标签 jquery css click

我想知道我在这里做错了什么。 我有一个可以选择的列表,选择后会设置“单击”类。但是当我选择另一个元素时,应该取消选择上一个元素并将单击的类传递给新元素,但在我的情况下,这不会发生!?

这是我的 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');

http://jsfiddle.net/sfwo6gxn/

关于jQuery onclick 添加类并在选择另一个元素时将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30289778/

相关文章:

php - 如何设置:hover on a li(A) when hover an other li(B)

html - 侧边栏不展开到底部

javascript - 从元素中删除特定的 jQuery 单击事件

html - 如何在我的 FlexSlider 中添加内容?

javascript - 如何给元素添加点击事件?

php和jquery点击事件问题

javascript - 给我看树.png

javascript - 像工具提示一样显示 Div - Div 需要定位在单击元素旁边

javascript - 单击导航栏元素后如何防止重新加载单页应用程序?

javascript - 如何动态对齐图例元素?