Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
使用contains的Jquery搜索函数_Jquery_Search_Split_Contains - Fatal编程技术网

使用contains的Jquery搜索函数

使用contains的Jquery搜索函数,jquery,search,split,contains,Jquery,Search,Split,Contains,我正在尝试创建一个“jquery搜索函数”,我希望能够使用多个单词对结果进行排序 有人能告诉我怎么做吗 这就是我得到的: $(document).ready(function(){ $('.qid').keyup(function() { var keyword = $(this).val().toLowerCase().split(" "); $(".q").removeClass('show'); $(".q:contains('"+ keyword[0] +"'):contains

我正在尝试创建一个“jquery搜索函数”,我希望能够使用多个单词对结果进行排序

有人能告诉我怎么做吗

这就是我得到的:

$(document).ready(function(){

$('.qid').keyup(function() {  
var keyword = $(this).val().toLowerCase().split(" ");

$(".q").removeClass('show');
$(".q:contains('"+ keyword[0] +"'):contains('"+ keyword[1] +"'):contains('"+ keyword[2] +"'):contains('"+ keyword[3] +"')").addClass('show');
if ($('.qid').val() == '')
{
$('.q').removeClass('show');
}
});

});
请阅读以下内容:


我想这可以回答您关于“contains”的问题。

您可以通过用contains替换空格来生成jquery选择器字符串 试试这个:

<script type="text/javascript">
    $(document).ready(function(){  
        $('.qid').keyup(function() {   
            var keyword = $(this).val().replace(/\s+/g, " ").replace(/\s+$|^\s+/g, "");  
            var containsString = keyword;
            $(".q").removeClass('show');
                        containsString = ".q:contains("+containsString+")".replace(".q:contains()","");
            console.log(containsString);
            $(containsString).addClass('show');
            if ($('.qid').val() == ''){
                $('.q').removeClass('show');
            }
        });
});

</script>

$(文档).ready(函数(){
$('.qid').keyup(函数(){
var关键字=$(this).val().replace(/\s+/g,”).replace(/\s+$|^\s+/g,”);
var containssString=关键字;
$(“.q”).removeClass('show');
containssString=“.q:contains(“+containssString+”)。替换(“.q:contains()”,”);
日志(containsString);
$(containssString.addClass('show');
如果($('.qid').val()=''){
$('.q').removeClass('show');
}
});
});
测试:

johnresig
乔治马丁
马尔科姆赛博内特辛克莱
J.Ohn
var baseText=“John Cybernate”
var containssString=baseText.replace(“,”,div:contains(“);
$(“div:contains(“+containssString+”)).css(“文本装饰”、“下划线”);

查看帖子@:(键入Lorem Ipsum)

@Jacob,问了九个问题,没有回答,没有接受?同意,并且+1。谢谢Cybernate,这很有效。但是当我在“空间”中键入时在每个单词之后,searchfunction会从所有div中删除类,并隐藏divs广告…这是一个好的开始!我的坏消息,实际上它不起作用。将尝试更多内容并更新问题。我已经更新了帖子,还发布了一个到jsfiddle的链接。试试这个:谢谢您的信息Cesar:)困难的问题是只返回输入字段中的所有单词。
<div>John Resig</div>
<div>George Martin</div>
<div>Malcom Cybernate Sinclair</div>
<div>J. Ohn</div>


<script>
    var baseText = "John Cybernate"
    var containsString = baseText.replace(" ", " ,div:contains(");
    $("div:contains(" + containsString + ")").css("text-decoration", "underline");
</script>