i would like to search in a table the number of rows by multiple :contains() value of 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);
});
Look here: http://jsfiddle.net/drh0mvhz/1
.filter()
allows you to do more complex filtering:
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;
});