Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
JQuery-组合选择器包括:contains_Jquery_Jquery Selectors - Fatal编程技术网

JQuery-组合选择器包括:contains

JQuery-组合选择器包括:contains,jquery,jquery-selectors,Jquery,Jquery Selectors,到目前为止的故事…… 你好,我又来了!好的,我现在正在学习JQuery,我想构建一个“键入时搜索”AJAX/JSON控件。所以off-vie进入了JSFiddle,构建了一个框架函数,并在此基础上进行构建,边学习边学习。在过去的几天里,您帮助了我,因此,谢谢您: 现在我只显示与输入匹配的选定列表项 “那你现在有什么问题了……”我看到你呻吟了!(是的,我现在有我的电子书了!) JQuery nOOb问题第3部分:多选择器。 我一直在使用API指南,因此我了解如何包含多个选择器,但我的问题是我没

到目前为止的故事……

你好,我又来了!好的,我现在正在学习JQuery,我想构建一个“键入时搜索”AJAX/JSON控件。所以off-vie进入了JSFiddle,构建了一个框架函数,并在此基础上进行构建,边学习边学习。在过去的几天里,您帮助了我,因此,谢谢您:

现在我只显示与输入匹配的选定列表项

“那你现在有什么问题了……”我看到你呻吟了!(是的,我现在有我的电子书了!)

JQuery nOOb问题第3部分:多选择器。

我一直在使用API指南,因此我了解如何包含多个选择器,但我的问题是我没有选择任何内容,即:contains没有找到任何内容。这是否不正确,我使用了JSLint,并且它已正确解析,没有错误:

$("li[id^='live'] li:contains('" + this.value + "')").show();
我的完整JSFIDLE代码在这里,但为了方便起见,我也加入了它:

$(文档).ready(函数(){
var$input=$(“#livesearchinput”),
填充=假;
$.ajaxSetup({
缓存:false
});
$input.keyup(功能(键){
如果(!已填充){
填充=真;
$.getJSON(“/gh/get/response.json//garfbradaz/MvcLiveSearch/tree/master/JSFiddleAjaxReponses/”,函数(JSONData){
var$ul=
$(“
    ”).attr({ id:“实时列表” }).appendTo('div#livesearchesults'); $。每个(JSONData,函数(i,项){ $。每个(项目、功能(j、val){ $(“
  • ”).attr({ id:“现场-”+val }).append(val).appendTo($ul.hide(); }); }); }); } var n=0; 如果(this.value!==“”){ n=$(“li:contains(““+this.value+”)))).length; n2=$([li[id^='live']li:contains(““+this.value+”)))。长度; console.log(“1.n2的值等于”+n2+:“+this.value+”end”); } 否则{ n=0; } if(n0){ $(“li[id^='live']li:contains(“+this.value+”))).show(); console.log(“2.n的值等于”+n+:“+this.value+“end”); } });
}));​

我所做的是放置一个控制台。logn2始终为0,下面是f12日志的证明:

因此,我的问题是:

  • 如何更正多重选择器以包含:contains,以便我将来知道
  • 我甚至应该使用:contains,还是应该以不同的方式使用.filter()?在发布之前,我正在研究这个问题,并找到了一个很好的答案,详细说明了这个问题的用法:

  • 在您的情况下,您只需要组合两个选择器:
    li id以
    开头,
    li包含
    。每个选择器的相似部分是
    li
    ,因此从
    li
    开始,添加另外两个

    $("li[id^='live']:contains('" + this.value + "')").length;
    


    我只更新了一行,以使控制台输出正确,您必须通过小提琴来更新其余的。

    在您的情况下,您只需要组合两个选择器:
    li id以
    开头,
    li包含
    。每个选择器的相似部分是
    li
    ,因此从
    li
    开始,添加另外两个

    $("li[id^='live']:contains('" + this.value + "')").length;
    

    我只更新了一行,以使控制台输出正确,你将不得不通过小提琴和更新其余的