Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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中更改if语句_Jquery_Html_Css_If Statement - Fatal编程技术网

在jQuery中更改if语句

在jQuery中更改if语句,jquery,html,css,if-statement,Jquery,Html,Css,If Statement,jQuery对我来说太难理解了。每次我不得不使用它时,我都会花几个小时阅读文档,结果一无所获。我正在使用这段代码(可以进行实时编辑) 它在输入文本时实时过滤记录。问题是我不想要它的搜索方法。让我解释一下 <ul id="list"> <li class="in"><span>google.com</span></li> <li class="in"><span>gmail.com</span>

jQuery对我来说太难理解了。每次我不得不使用它时,我都会花几个小时阅读文档,结果一无所获。我正在使用这段代码(可以进行实时编辑)

它在输入文本时实时过滤记录。问题是我不想要它的搜索方法。让我解释一下

<ul id="list">
  <li class="in"><span>google.com</span></li>
  <li class="in"><span>gmail.com</span></li>
  <li class="in"><span>samsung.com</span></li>
  <li class="in"><span>amazon.de</span></li>
  <li class="in"><span>apple.de</span></li>
</ul>
或:

或:


但是我无法编辑当前的if语句。每次我破坏脚本时。

您的
indexOf
函数检查找到的索引是否大于或等于0。将其设置为等于0以检查字符串的开头:

{
return (elem.textContent || elem.innerText || '').toLowerCase()
    .indexOf((match[3] || "").toLowerCase()) == 0;
}

演示:

创建一个新的
:startswith
自定义选择器(或
:startswithi
,如果需要具体说明),并检查
索引上的位置0是否匹配:


请注意,您正在
keyup
处理程序事件中添加自定义选择器(在每个keyup上)。我把它移到了开头。

我已经在这里看到了一些答案。让我再加上一个选项。。从搜索文本中获取值并创建正则表达式模式,然后在列表元素中查找该模式。我不是专家,但这是我马上想到的。希望这对某人有所帮助:)

旁注:您已经将您的
:containsi
jQuery扩展嵌套在
keyup
处理程序中!最好你重新格式化你的代码,看看嵌套有一些紧迫:)嗨,谢谢你的答复。你为什么这么说?您的意思是这可能是性能问题吗?当代码只需要初始化一次时,您不应该不必要地反复运行代码。我担心你可能还有其他类似的问题。最好避免这种情况。我真不敢相信我竟然错过了那部分。。。谢谢你,托尼,我明白了。你完全正确。关键事件毫无意义。非常感谢。
<ul id="list">
  <li class="in"><span>google.com</span></li>
  <li class="hiding out hidden"><span>gmail.com</span></li>
  <li class="hiding out hidden"><span>samsung.com</span></li>
  <li class="hiding out hidden"><span>amazon.de</span></li>
  <li class="hiding out hidden"><span>apple.de</span></li>
</ul>
indexOf(searchTerm)
[span^="'+searchTerm+'"]
str.match(/^searchTerm/)
{
return (elem.textContent || elem.innerText || '').toLowerCase()
    .indexOf((match[3] || "").toLowerCase()) == 0;
}
    //extends :contains to be case insensitive
    $.extend($.expr[':'], {
        'startswith': function (elem, i, match, array) {
            return (elem.textContent || elem.innerText || '').toLowerCase()
                .indexOf((match[3] || "").toLowerCase()) == 0;
        }
    });