JQuery表搜索多个行的行数包含值

时间:2016-08-22 12:54:15

标签: jquery pseudo-class

我想在表中搜索多个行数:contains()td的值。

<table id="tabCity">
<tr><td>Name</td><td>Surname</td><td>City</td></tr>
<tr><td>Paul</td><td color>Smith</td><td>Boston</td></tr>
<tr><td>Andrew</td><td>Smith</td><td>London</td></tr>
<tr><td>Smith</td><td>Green</td><td>Boston</td></tr>
<tr><td>Nick</td><td>Smith</td><td>Boston</td></tr>
</table>
<br>
<button class="go">Search Surname Smith in Boston</button>
<br>
<label>The result must be 2</label>

$(document).on('click', '.go', function(){
var rows= $("#tabCity tr td:nth-child(2):contains('Smith'), td:nth-child(3):contains('Boston')");
alert(rows.length);
});

请看这里:http://jsfiddle.net/drh0mvhz/1

1 个答案:

答案 0 :(得分:2)

.filter()可让您进行更复杂的过滤:

var rows = $("#tabCity tr").filter(function() {
    return $(this).find("td:nth-child(2):contains('Smith')").length 
        && $(this).find("td:nth-child(3):contains('Boston')").length;
});

http://jsfiddle.net/bh6t6tf6/