Javascript 如何反转<;李>;使用:not()和:contains()进行选择?
我想用jQuery进行实时搜索。这是我的密码:Javascript 如何反转<;李>;使用:not()和:contains()进行选择?,javascript,jquery,css,Javascript,Jquery,Css,我想用jQuery进行实时搜索。这是我的密码: $("#searchInput").on("keyup", function () { var searchTerm = $("#searchInput").val(); $('li:contains("' + searchTerm + '")').show().siblings(':not(li:contains("' + searchTerm + '"))').hide(); }); 显示包含“搜索文本”的可以
$("#searchInput").on("keyup", function () {
var searchTerm = $("#searchInput").val();
$('li:contains("' + searchTerm + '")').show().siblings(':not(li:contains("' + searchTerm + '"))').hide();
});
显示包含“搜索文本”的
可以正常工作,但第二部分(隐藏其余项目)不能完全工作
当我搜索不相关的单词时,如何隐藏
s?您可以使用
解决方案1
$(“#搜索输入”)。在(“键控”,函数()上{
var searchTerm=$(“#searchInput”).val();
$(“ul li”).show().not($(“li:contains(“+searchTerm+”)).hide();
});代码>
-
你好
-
世界
-
清单1
-
单词
-
另一里
为什么不先隐藏所有li,然后显示包含搜索词的li?这样效率会高得多-$('li').hide().filter(':contains('+searchTerm+'))。show()
您是否尝试过使用.sibles()简化它。hide()@ConfusedShark作为内部jQuery迭代集合中的所有元素,这将隐藏所有其他同级元素,即使它们实际上包含搜索词。谢谢大家!你太棒了@彼得非常感谢你,伙计。它工作得很好。如果我有你的大脑…很好的回答!有启发性的解决方案,嘿,伙计,你太棒了!抱歉,我还不能投票给你。