jQuery - 试图获得最接近的li

时间:2014-03-05 22:38:31

标签: javascript jquery

我有以下代码:

<li>
    <a href="#" rel="brand">Brand</a>
    <ul>
        <li class="fsearch">
           <input class="filter-me" type="text" placeholder="Type to search..." />
        </li>
        <li>aaa</li>
        <li>bbb</li>
        <li>ccc</li>
    </ul>
</li>

我正在尝试使用一个函数来过滤列表(Jquery filter list without case sensitive)...但我无法让它工作。我尝试过使用next(),find(),nearest(),...

$('.filter-me').keyup(function(){
      filter(this); 
});

var filter = function(element) {

var value = $(element).val().toLowerCase();
var $li = $(element).next('li:not(.fsearch)');

$li.hide();
$li.filter(function() {
   return $(this).text().toLowerCase().indexOf(value) > -1;}).show();
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

要从li获取fsearch以外的input个元素,从li开始,首先转到包含输入的var $listItems = $(element).closest('li').siblings(); 使用closest,然后使用siblings

filter

然后在$listItems上使用$listItems逻辑。 (我称之为$li而不是$li,因为{{1}}给人的印象是只有一个项目。)