Jquery遍历所有选中的框并删除类

时间:2009-07-21 22:24:01

标签: jquery checkbox loops

我目前正在使用jQuery,并希望在迭代所有“已选中”复选框并删除父表行的类(称为“new_message”)时提供一些帮助。

我有一个基本的概念,但我无法完全了解整个事情。

以下是我目前正在使用的内容:

$("#unread_button").click(function (event) {
event.preventDefault;
$(":checkbox:checked").each( 
function() 
{ 
    if (this.checked) 
    { 
        var divs = $.makeArray($(this).parents("tr").attr("id"));
     }
$(divs).each(
    function(int)
        {
            $(this).removeClass("new_message");
        }
    );
  });  
});

最终,这也将更新数据库,因此,如果可以定制代码以适应两者,那就太棒了。

非常感谢任何指导!

2 个答案:

答案 0 :(得分:6)

我认为这会奏效:

$('input:checkbox:checked').parents('tr').removeClass('new_message');

或者,如果它只是您想要匹配的直接TR父级,那么:

$('input:checkbox:checked').closest('tr').removeClass('new_message');

jQuery为你完成所有循环,所以你必须拥有所有的每个()es。

使用':checked'选择器后,您必须重新检查项目是否已选中。这应该将您的选择器结果限制为仅检查项目。

答案 1 :(得分:4)

$("input:checked").each(function() {
    $(this).removeClass("new_message");
}

会从复选框中删除相关的类,所以

$(this).parent....

应该根据您的HTML看起来像