Javascript 使用字母选择对Divs内容进行排序
我有一个包含名字的div列表。我想根据名称和用户选择的字母对div进行排序。例如,如果用户选择字母“d”,我希望显示所有包含以字母“d”开头的名称的div,并隐藏所有其他div 现在,当我选择一个字母时,没有div出现 这是我的html:Javascript 使用字母选择对Divs内容进行排序,javascript,jquery,Javascript,Jquery,我有一个包含名字的div列表。我想根据名称和用户选择的字母对div进行排序。例如,如果用户选择字母“d”,我希望显示所有包含以字母“d”开头的名称的div,并隐藏所有其他div 现在,当我选择一个字母时,没有div出现 这是我的html: <div class="alphabetical-search"> <ul> <li>a</li> <li>b</li> <l
<div class="alphabetical-search">
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
</ul>
</div>
<div id="staff-directory-wrapper">
<div class="single-staff">
<div class="name">
Mark
</div>
<div class="position">
position
</div>
</div>
<div class="single-staff">
<div class="name">
Sam bob
</div>
<div class="position">
position
</div>
</div>
<div class="single-staff">
<div class="name">
Charles mark
</div>
<div class="position">
position
</div>
</div>
<div class="single-staff">
<div class="name">
Rick sam
</div>
<div class="position">
position
</div>
</div>
<div class="single-staff">
<div class="name">
Joe frank
</div>
<div class="position">
position
</div>
</div>
<div class="single-staff">
<div class="name">
Bob mark
</div>
<div class="position">
position
</div>
</div>
</div>
你有几个问题
if()
需要比较staffname文本,而不是jQuery对象也许jQuery数据表是您的一个选择?
var alphabets = $('.alphabetical-search ul > li');
var singleStff = $('#staff-directory-wrapper .single-staff');
alphabets.click(function () {
var letter = $(this), text = $(this).text(), count = 0;
alphabets.removeClass("active");
letter.addClass("active");
singleStff.hide();
singleStff.each(function (i) {
var staffName = $(this).find('.name').text();
if ( text == $(staffName.charAt(0)) ) {
count += 1;
$(this).fadeIn(400);
}
});
});
alphabets.click(function () {
var letter = $(this), text = $(this).text().toLowerCase(), count = 0;
alphabets.removeClass("active");
letter.addClass("active");
singleStff.hide();
singleStff.each(function (i) {
var staffName = $(this).find('.name').text().trim().toLowerCase();
if ( text == staffName.charAt(0) ) {
count += 1;
$(this).fadeIn(400);
}
});
});