我想根据 li 中 span 的内容过滤列表(显示/隐藏 lis)。目前我有一些工作,但无论匹配发生在哪里,它都会过滤列表。我需要将其播种到开始,因此只有匹配发生在跨度开始时才会显示,否则将被隐藏。
<li><img/><span>text</span></li>
<li><img/><span>other text</span></li>
<li><img/><span>other words</span></li>
所以,如果我过滤“文本”,目前将返回前 2 个,而我只想要第一个(因为“文本”这个词在它的开头)。
这是我目前拥有的:
var value = $("#listcontainer ul#list input").val();
if(value == '') {
$('ul#list> li').show(); //show all, if nothing entered
} else {
$('ul#list > li:not(.plain):not(:contains(' + value + '))').hide();
$('ul#list > li:not(.plain):contains(' + value + ')').show();
} //.plain = li which contains the text input
谢谢