jquery:contains给出错误:jquery-1.12.3.js:1502未捕获错误:语法错误,无法识别的表达式:contains(";sys";)

jquery:contains给出错误:jquery-1.12.3.js:1502未捕获错误:语法错误,无法识别的表达式:contains(";sys";),jquery,Jquery,我试图实现一个过滤器,当文本与用户在输入html元素中输入的内容匹配时,它将过滤“pre”html元素 但当我试图用用户输入的内容检查它时,它似乎不起作用,但如果我硬编码要搜索的文本,它就会起作用 以下是我的js脚本: $(document).ready(function(){ $("#input") .change( function () { var filter = $(this).val(); if(fil

我试图实现一个过滤器,当文本与用户在输入html元素中输入的内容匹配时,它将过滤“pre”html元素

但当我试图用用户输入的内容检查它时,它似乎不起作用,但如果我硬编码要搜索的文本,它就会起作用

以下是我的js脚本:

$(document).ready(function(){ 
        $("#input")
        .change( function () {
            var filter = $(this).val();
            if(filter) {
            $("#list").find("pre:contains(\""+filter+"\")").show()
            $("#list").find("pre:not(contains(\""+filter+"\"))").hide()

            } else {

            }
            return false;
            })
        .keyup( function () {

            $(this).change();
            }); });
如果我将“过滤器”硬编码为“pre”元素中的某个字符串,它就会工作。 例如:其中一个字符串中有“sys”,因此如果我硬编码如下:
$(“#list”).find(“pre:contains(“sys”)”).hide()
:它隐藏元素。

检查引号,不需要转义引号:

$(“#输入”).change(函数(){
var filter=this.value;
$(“#list”).find(“pre:contains(“+filter+”)).show()//显示已过滤的内容
.sides('pre').hide();//隐藏其他人。
});

过滤它。。。
哪里
系统
什么

sys
其中

检查引号,不需要转义引号:

$(“#输入”).change(函数(){
var filter=this.value;
$(“#list”).find(“pre:contains(“+filter+”)).show()//显示已过滤的内容
.sides('pre').hide();//隐藏其他人。
});

过滤它。。。
哪里
系统
什么

sys
其中

隐藏的第二行

转换为

它为
(包含(..)


对于
contains()
-对
的最终评估:不(:contains(…)


隐藏的第二行

转换为

它为
(包含(..)


对于
contains()
-对
的最终评估:不(:contains(…)

尝试删除
\“
\”
$(“\35;列表”).find(“pre:contains(“+filter+”)).show()
尝试删除
\”
\“
$(“\35;列表”).find(“pre:contains(“+filter+”).show()
$("#list").find("pre:not(contains("+filter+"))").hide()
$("#list").find("pre:not(contains(sys)").hide()
$("#list").find("pre:not(:contains("+filter+"))").hide()
//                       ^