按第一个字母过滤列表项

我有一个带列表项的ul。 我想过滤掉他们的第一个字母显示的项目。

过滤列表:

  • A
  • B
  • etc...

列表

 
  • Apple
  • Banana
  • etc...

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

你可以尝试一下这个问题

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

就像是…

 $('.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)等,但这应该有效……