我可以使用什么jQuery选择器组合来隐藏不使用';不包含搜索?

我可以使用什么jQuery选择器组合来隐藏不使用';不包含搜索?,jquery,jquery-selectors,Jquery,Jquery Selectors,我有一个显示所有可用类的表。每个类的TR ID是类提供者+等级级别(例如:8级虚拟类将是“Virtual8”)。然后,我有一个“提供者”组合框、“等级”组合框和“类别标题”文本框。单击“显示”时,它应隐藏所有tr,显示显示正确“提供者”+“等级”ID的tr,然后隐藏不包含类搜索的任何TD的父级(tr) 当前,类名搜索根本不做任何事情 我知道这很令人困惑,可能有一种更简单的方法。如有任何建议,将不胜感激。如果我将“课程名称”框留空,只搜索提供者和年级级别,则表单可以正常工作;但是,在搜索中添加类名

我有一个显示所有可用类的表。每个类的TR ID是类提供者+等级级别(例如:8级虚拟类将是“Virtual8”)。然后,我有一个“提供者”组合框、“等级”组合框和“类别标题”文本框。单击“显示”时,它应隐藏所有tr,显示显示正确“提供者”+“等级”ID的tr,然后隐藏不包含类搜索的任何TD的父级(tr)

当前,类名搜索根本不做任何事情

我知道这很令人困惑,可能有一种更简单的方法。如有任何建议,将不胜感激。如果我将“课程名称”框留空,只搜索提供者和年级级别,则表单可以正常工作;但是,在搜索中添加类名不会起任何作用

守则:

<script src="jquery.missing.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){

    $("#display").click(function() { 

        $('tr[id^="Independent"]').hide();
        $('tr[id^="Virtual"]').hide();
        $('tr[id^="Innovative"]').hide();
        $('tr[id^="Lincoln"]').hide();
        $('tr[id^="Missouri"]').hide();
        $('tr[id^="Calvert"]').hide();

        var result = $('#theprovider').val() + $('#thegrade').val();
        $('tr[id*="' + result + '"]').show();

        var search = $('#searchclass').val();
        $('td:missing("' + search + '")').closest('tr').hide();
    });

});
</script>

只有在双引号内使用怀疑引号时,才需要避开怀疑引号,单引号也是如此

您可以尝试这样组合使用
not
contains
,而不是
missing

$('tr:gt(0)').not(":contains('" + search + "')").hide();

请注意,任何阅读本文的人,请忽略
\“
,这很可能是来自服务器代码。可以理解为
是的,我的错。代码在PHP中的一个字符串内-将更新帖子。搜索在哪里进行?在PHP中?那么为什么要渲染行并强制JS隐藏它们呢?如果搜索是在JS中进行的,那么为什么所有这些都在PHP字符串中呈现?我的建议是通过用一种语言或另一种语言来简化问题。如果它没有神奇地蒸发掉,那么你可以重新提出一个更简洁的问题。此外,这里没有你真正想做什么的例子,解释也很模糊。你能举一个HTML被利用的例子吗?桌子和按钮?也许是a?我试过那个密码。当我运行它时,所有的类都隐藏了——没有任何东西保持显示。如果没有那一行,带有正确ID的tr会显示得很好。@Fleppar-试试我编辑过的答案,我想这会解决你的问题。这很好,我为模糊的描述道歉-我不知道还有什么其他方法可以解释它而不必漫无边际。我不太明白为什么你要搜索TR而不是TD?非常感谢你的帮助!我看到该行的唯一问题是,在执行搜索时,表标题也被隐藏。@Fleppar-如果第一行是标题行,则可以使用
tr:gt(0)
$('tr:gt(0)').not(":contains('" + search + "')").hide();