簡體   English   中英

如何選擇第一個和第二個td包含特定值的tr?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM