2013-12-19 74 views
0

我已經喜歡檢查數據計數器值的存在與否,並添加

<table id='tbl'> 
<tr data-counter="1" class="active">/tr> 
<tr data-counter="2">/tr> 
<tr data-counter="3">/tr> 
<tr data-counter="4">/tr> 
<tr data-counter="5" class="active">/tr> 

我只是想檢查該行是否存在與數據計數器行。我想添加從第2行到第4行的類,並刪除現有行的類。

for(var i = 2;i <=4 i++){ 
     $('.active').removeClass('active'); // Remove class to already existing class rows. 
     if($('#tblInbox tbody tr[data-counter="'+i+'"]').length){ // If the records are already available. 
      console.log("i::"+i); 

      $('#tblInbox tbody').find('tr[data-counter="' + i + '"]').addClass('active'); 

     } 

}

這有什麼錯的代碼?

+0

使用jQuery,您可以使用.data()函數。 $(「#選擇」)。數據(「反」) 阿迪爾的和Hiral的答案是更好的解決方案,雖然 – Purefan

回答

0

試試這個:

for (var i = 2; i <= 4; i++) { 
    if ($('#tbl').find('tr[data-counter="' + i + '"]').length) { 
     // do something 
     $('#tbl').find('tr[data-counter="' + i + '"]').addClass('active'); 
    } 
} 

DEMO here.

+0

感謝hiral。但是,它的添加類只到第4 TR。但不能從2日至4 .. ..如果($( '#tblInbox TBODY TR [數據計數器= 「 '+ I +」']')。長度){//如果這些記錄已經可用。 \t \t \t \t \t的console.log( 「I ::」 + I); \t \t \t \t $( '活性 ')removeClass(' 激活')。 //將類移除到已有的類行。 \t \t \t \t \t $('#tblInbox tbody')。find('tr [data-counter =''+ i +'「''')。addClass('active'); \t \t \t \t} – Syed

+0

我剛剛編輯了我的問題。請檢查一下。 – Syed

+0

@ user3118692 [點擊這裏](http://jsfiddle.net/r27SG/)。它增加了活躍的類2,3,4'tr' – Hiral

0

您必須行TD把數據。

Live Demo

$('#tbl td[data-counter]').addClass('active'); 
0
$(':data');  // All elements with data 
$(':not(:data)'); // All elements without data 

你的問題......

$('#tbl tr').each(function() { 
    if(!$(this).attr('data-timer')) 
    { 
    // data-attributes does not exits 
    } 
}); 

其更好地類名稱和數據,沒有數據屬性添加到行...