如果td:nth-child(1)的第一个字母不包含字母D,则所有想要隐藏的tr, atm我的代码只是隐藏它,如果它的所有tds不包含字母D. HTML:
HTML
<table id="myTable">
<thead>
<tr><th>Name</th><th>Lastname</th></tr>
</thead>
<tbody>
<tr><td>Zuri</td><td>Mam</td></tr>
<tr><td>Dima</td><td>Mam</td></tr>
<tr><td>Dato</td><td>Mik</td></tr>
<tr><td>AMD</td><td>Phen</td></tr>
</tbody>
</table>
<button id="hide">Filter by First letter D</button>
<button id="showAll">Show All</button>
的jQuery
$("#hide").click( function() {
$("#myTable tr:not(:has(th))").not(":contains(D)").hide();
});
$("#showAll").click( function() {
$("#myTable tr:not(:has(th))").show()
});
工作JSFiddle。 请帮忙, 谢谢!
答案 0 :(得分:6)
:contains()检查字符串是否出现在内容的任何位置,您可以使用.filter()过滤tr
元素
$("#hide").click(function () {
$("#myTable tbody tr").filter(function(){
return $.trim($(this).find('td:first-child').text()).charAt(0) != 'D'
}).hide();
});
演示:Fiddle
答案 1 :(得分:0)
试试这个解决方案:
$("#hide").click( function() {
$("#myTable tbody tr").each(function(){
if($(this).find("td:first").text().substr(0,1).toUpperCase() == 'D'){
$(this).hide();
}
});
});
$("#showAll").click( function() { $("#myTable tbody tr").show() });