隐藏tr,如果它的td:nth-​​child()第一个字母不包含字母

Dim*_*tri 1 html javascript jquery

所有想要的是隐藏tr如果td:nth-​​child(1)的第一个字母不包含字母D,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>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("#hide").click( function() { 
    $("#myTable tr:not(:has(th))").not(":contains(D)").hide();
});
$("#showAll").click( function() { 
    $("#myTable tr:not(:has(th))").show() 
});
Run Code Online (Sandbox Code Playgroud)

工作JSFiddle.请帮帮忙,谢谢!

Aru*_*hny 6

:contains()检查字符串是否存在于内容的任何位置,您可以使用.filter()来过滤tr元素

$("#hide").click(function () {
    $("#myTable tbody tr").filter(function(){
        return $.trim($(this).find('td:first-child').text()).charAt(0) != 'D'
    }).hide();
});
Run Code Online (Sandbox Code Playgroud)

演示:小提琴