按第一个字母过滤列表项

时间:2013-05-03 17:47:29

标签: javascript jquery

我有一个包含列表项的ul。我试图过滤掉他们的第一个字母显示的项目。

过滤清单:

<ul class="myFilters">
<li data-type="A">A</li>
<li data-type="B">B</li>
<li>etc...</li>
</ul>

列表

<ul class="myFilterItems">
<li>Apple</li>
<li>Banana</li>
<li>etc...</li>
</ul>

理想情况下,点击li中的.myFilters只会显示.myFilterItems中以该字母开头的项目。

2 个答案:

答案 0 :(得分:5)

你可以尝试一下这个

        $('.myFilters li').click(function(){
           var v = $(this).text()[0]
           $('.myFilterItems li').hide().filter(function(){
              return $(this).text().toUpperCase()[0] == v;
           }).show()
        })

答案 1 :(得分:1)

像...一样的东西。

$('.myFilters li').on("click", function() {
  var letter = $(this).text()[0];
  $('.myFilterItems li').each(function() {
    if ($(this).text()[0] == letter) {
      $(this).show();
    } else {
      $(this).hide();
    }

  });
});

你可能想要处理区分大小写(s或S)等,但这应该有用......