从列表项添加/删除类

时间:2014-01-23 20:02:42

标签: jquery

我有一些用PHP循环显示的列表项。我想在单击的列表项中添加一个类,然后从该项中删除类,并将其添加到单击的下一个项目或在其他任何位置单击。

我试过了:

$j('.list_item').on("click", function() {

        $j(this).addClass("active_card");

    }).on("blur", function() {

        $j(this).removeClass("active_card");

});

它会添加该类,但在单击其他项目时不会将其删除。

HTML:对不起,这些不是前面提到的列表项,但仍然显示在php循环中。

<div id="item_list_wrapper">
<div class="list_item">...</div>
<div class="list_item">...</div>
<div class="list_item">...</div>
<div class="list_item">...</div>
</div>

2 个答案:

答案 0 :(得分:5)

根据点击的内容,它不会绘制焦点,也不会触发模糊事件。你最好使用类选择器来获取项目。

$j('.item_list').on('click', function () {
    $j('.active_card').removeClass('active_card');
    $j(this).addClass('active_card');
});

答案 1 :(得分:0)

我认为这会让你得到你想要的东西:

http://jsfiddle.net/S7EK9/

$j('.item_list').on("click", function (e) {
    $j('.active_card').removeClass('active_card');
    $j(this).addClass("active_card");
    e.stopPropagation();
})

$j(document).on('click', function () {
    $j('.active_card').removeClass('active_card');
});

如果您点击其中一个.item_list元素,则会突出显示该元素。如果您点击其他任何地方,{@ 1}}课程将被删除。