[英]How to select tr whose first and second td contains specific value?
我有這樣的表:
代碼如下:
<table id="table1">
<tr>
<td>HU</td>
<td>BIP</td>
<td>Pannon</td>
</tr>
<tr>
<td>HU</td>
<td>BIP</td>
<td>T-Mobile</td>
</tr>
<tr>
<td>HU</td>
<td>BIP</td>
<td>Vodafone</td>
</tr>
<tr>
<td>HU</td>
<td>FUN</td>
<td>Pannon</td>
</tr>
<tr>
<td>HU</td>
<td>FUN</td>
<td>T-Mobile</td>
</tr>
<tr>
<td>HU</td>
<td>FUN</td>
<td>Vodafone</td>
</tr>
</table>
如何選擇最后一個<tr>
其第一個<td>
包含“ HU”,第二個<td>
包含“ BIP”。
我試圖這樣選擇它:
$('#table1').find('tr td:first-child:contains("HU") td:nth-child(2):contains("BIP")').last();
什么也沒顯示
像這樣:
$('#table1').find('tr td:first-child:contains("HU")').parent().each(function(i,e){
console.log($(e).children('td:contains("BIP")').parent().last());
});
不顯示最后一個tr
而是全部(包含“ HU”和“ BIP”)。
任何想法?
您可以使用eq()
和includes()
方法執行此操作。
eq()將匹配元素的集合減少到指定索引處的元素。
var copy; $('table tr').each(function(i,e){ var first=$(this).find('td').eq(0).html().includes("HU"); var second=$(this).find('td').eq(1).html().includes("PIB"); if(first && second){ copy=$(e); } }); console.log($(copy).html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td>HU</td> <td>PIB</td> <td>Pannon</td> </tr> <tr> <td>HU</td> <td>PIB</td> <td>T-Mobile</td> </tr> <tr> <td>HU</td> <td>PIB</td> <td>Vodafone</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>Pannon</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>T-Mobile</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>Vodafone</td> </tr> </table>
您可以執行以下操作:
$(document).ready(function() { var target = $('table tr td:first-child:contains("HU")').parent().find('td:nth-child(2):contains("BIP")').last().parent(); console.log(target.html()); });
<script src="https:code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <table> <tr> <td>HU</td> <td>BIP</td> <td>Pannon</td> </tr> <tr> <td>HU</td> <td>BIP</td> <td>T-Mobile</td> </tr> <tr> <td>HU</td> <td>BIP</td> <td>Vodafone</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>Pannon</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>T-Mobile</td> </tr> <tr> <td>HU</td> <td>FUN</td> <td>Vodafone</td> </tr> </table>
它首先選擇所有包含“ HU”的第一個td
,然后選擇其父tr
,然后通過查找包含“ BIP”的第二個td
再次過濾結果,然后最后選擇最后一個匹配的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.