我的表格看起来像这样:
代码如下:
<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>
包含“HU”而第二个<td>
包含“BIP”的最后<td>
。
我试着像这样选择它:
$('#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”)。
有什么想法吗?
答案 0 :(得分:1)
您可以使用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());
&#13;
<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>
&#13;
答案 1 :(得分:1)
您可以这样做:
$(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
,然后再次找到包含<{1}}的{{1}}来过滤结果em>“BIP”然后最后选择最后一个匹配的元素。