如果选中复选框,则jquery突出显示表行

时间:2011-08-26 23:40:10

标签: jquery jquery-selectors checkbox

如果我“点击”某个元素,我知道如何突出显示表格行。

但是当我打开一个页面时,已经检查了一些复选框。我想在页面加载时使用jquery突出显示那些行。

我给了我所有的复选框一类“复选框”。 这是我到目前为止所得到的:

$(document).ready(function(){ 

   if( $('.checkboxes').attr("checked") == true ){ /*not sure how to detect a row*/  }

});

我不知道该把什么放进去。

我最接近的是放置这个:

$(this).closest('tr').addClass("pinkrow");

$(this)显然无法检测到。

1 个答案:

答案 0 :(得分:5)

您可以使用.each() [docs]:checked [docs]伪选择器:

$('tr .checkboxes:checked').each(function() {
    $(this).closest('tr').addClass('pinkrow');
});

如果只想使用纯CSS选择器,可以测试是否使用DOM元素的checked属性检查元素:

$('tr .checkboxes').each(function() {
    if(this.checked) {
        $(this).closest('tr').addClass('pinkrow');
    }
});

另请注意,tr .checkboxes仅选择表格行中的.checkboxes元素(如果有其他元素)。