2009-09-25 42 views
0

我有一個HTML表格。我需要一個jQuery選擇器來僅選擇TR,其中column2(TD)文本等於=「foo」。這可能嗎?jQuery,在第2列數據是常量的表中選擇TR's?

<table> 
     <tr><td>asdasd</td><td>foo</td><td>fsdf</td></tr> 
     <tr><td>asdasd</td><td>xxx</td><td>fsdf</td></tr> 
     <tr><td>asdasd</td><td>xxx</td><td>fsdf</td></tr> 
     <tr><td>asdasd</td><td>foo</td><td>fsdf</td></tr> 
     <tr><td>asdasd</td><td>foo</td><td>fsdf</td></tr> 
    </table> 

所以選擇器應該返回行1,4和5.任何人都可以指向正確的方向嗎?

多謝, 〜CK在聖地亞哥

+0

我使用了提供的答案的變體,我得到了我期待的結果。 (index){return $(this).text()。indexOf(「foo」)!= - 1;}); – Hcabnettek 2009-09-25 19:35:42

回答

1
$('tr').filter(function(index){ 
    return this.cells[1].innerHTML === 'foo'; 
}); 
0

我jQuery的可能會有點生疏,但確實是這樣的工作嗎?

$('table tr td:eq(1)').filter(function(index) { 
    return $(this).text() === 'foo'; 
}); 
+0

這將會明顯變慢。 – ChaosPandion 2009-09-25 17:42:41

0

所以它可能會縮短一點工作時間:

$("table tr").each(function(){ 
    if($(this).text().indexOf("foo")!=-1) { 
     var el = $('td:eq(1)', $(this)); 
     if (el.text() == 'foo') 
      el.attr("bgcolor", "#336699"); //test 
    } 
}); 
0

如果「富」並不一定要在第2列,只是需要在該行中,你可以使用這個選擇器(我只是爲了完整而添加這個)。

$('tr:contains("foo")').filter(function(index){ return $(this) }); 
相關問題