2011-08-26 54 views
3

我知道如何突出顯示錶格行,如果我「點擊」一個元素。如果複選框被選中,jquery將突出顯示錶格行

但是當我打開一個頁面時,一些複選框已經被選中。我想在頁面加載時使用jquery來突出顯示這些行。

我給了我所有的複選框一類「複選框」。 這是我走到這一步:

$(document).ready(function(){ 

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

}); 

我不知道要放什麼東西里面。

我得到的最接近是將這樣的:

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

$(this)顯然不檢測。

回答

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元素(以防其他情況)。

+0

我甚至沒有考慮過.each()選擇器。尼斯。感謝您的提醒。 – coffeemonitor

相關問題