2012-11-19 24 views
0

我有兩個說明包含文字SUM,但是一個是粗體(SUM和一個不是(SUM))。我想要得到td:eq(5),它的描述包含SUM而沒有b標籤。無法找到一列中的確切TD值

HTML是動態生成的,所以我不能放任何ID,類等等。

這是我的代碼(這讓我在兩個領域和綠色背景):

$('#someTable tr').each(function() { 
    var tr = $('#someId').closest('tr'); 
    var tdSum = $(tr).find('td:contains("SUM")'); 

    $(tdSum).closest('tr').find('td:eq(5)').css('background-color', 'green'); 
}); 

我希望你明白我想要做的事。

+1

請發表您的HTML或的jsfiddle。 – j08691

+0

如果它總是'第一'或'最後',或者它總是'第五'行,那麼你可以使用一個計數器使第5行變綠。 –

回答

0

首先,tr已經作爲當前循環項目可用。要選擇包含文本SUM但不包含b標籤的td,請按照指示使用選擇器。如果你做一個each()應該推薦使用$(this)

$('#someTable tr').each(function() {    
    var tr = $(this); 
    var tdSum = $(tr).find('td:contains("SUM"):not(:has(b))').css('background-color', 'green');   
}); 
0

:然後應用格式。

$('#someTable tr').each(function() {    
     if($(this).find('td:contains("SUM")').length > 0){    
      $(this).find('td:eq(5)').css('background-color', 'green'); 
     } 
}); 
0

嘗試使用。不是(),並具有過濾掉了TD與AB標籤

.not(':has("b")') 

或過濾功能,過濾掉的元素

$(tr).find('td:contains("SUM")').filter(function(){ 
    return $('b',this).length == 0; 
}); 
相關問題