2
我正在嘗試按第一個字母對列表項進行排序。我正在過濾.list-title div,然後顯示包含所有內容的.list-item。問題是,我直接在過濾器方法上使用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小提琴:
http://jsfiddle.net/2ewgr2mt/2/
這訣竅!非常感謝。我已經用適當的選擇器語法更新了這個問題的未來訪問者的代碼。 –