Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery隐藏不包含值的表列_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript Jquery隐藏不包含值的表列

Javascript Jquery隐藏不包含值的表列,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我试图隐藏表中不包含搜索值的行 这项工作: <table class="mytable"> <tr> <td>1001</td> <td>apples</td> </tr> <tr> <td>1002</td> <td>bananas</td> </tr

我试图隐藏表中不包含搜索值的行

这项工作:

<table class="mytable">
    <tr>
        <td>1001</td>
        <td>apples</td>
    </tr>
    <tr>
        <td>1002</td>
        <td>bananas</td>
    </tr>
</table>
<button id="mybutton">Button</button>
<button id="mybutton2">Button2</button>
但我发现有一种更优雅、可能更有效的解决方案,使用:非选择器,但我无法让它工作:

$('#mybutton2').click(function(){
    $('.mytable td:not(:contains("apples"))').parent().hide();
});
如何使用:not选择器使其工作,以便如果一行不包含苹果,它将被隐藏,保留所有包含苹果的行

JS Fiddle:

因为first td在任何一行中都不包含苹果,它将选择所有first td,因此它将隐藏其父项。所以你需要使用tr

匹配文本可以直接显示在选定元素中、该元素的任何子元素中或其组合中。与属性值选择器一样,括号内的文本:contains可以写为裸字,也可以用引号括起来。文本必须有匹配的大小写才能选择。取自

$'mybutton2'。单击函数{ $'.mytable tr:not:containsapples.hide; }; 1001 苹果 1002 香蕉 按钮
按钮2您知道如何最好地执行此操作以使其不区分大小写吗?
$('#mybutton2').click(function(){
    $('.mytable td:not(:contains("apples"))').parent().hide();
});