【发布时间】:2015-05-21 16:58:13
【问题描述】:
我正在尝试按第一个字母对列表项进行排序。我正在过滤 .list-title div,然后显示包含所有内容的 .list-item。问题是,我直接在 filter 方法上使用 show 方法,因为它需要为返回的结果显示 .list-item (父级),所以什么都没有显示。我不知道如何以任何其他方式重写它。如何显示每个返回项目的列表项?
$(document).ready(function() {
function filterResults(letter){
$('.list-item').hide();
$('li.list-item .list-title').filter(function() {
return $(this).text().charAt(0).toUpperCase() === letter;
}).show();
};
filterResults('A');
$('a').on('click',function(){
var letter = $(this).text();
filterResults(letter);
});
});
var $listItem = $('.list-item')
$('a').addClass(function(){
var s = this.textContent;
return $listItem.filter(function(){
return this.textContent.charAt(0) === s
}).length ? '' : 'grey';
})
JS 小提琴:
【问题讨论】:
标签: javascript jquery