我对 jQuery 还很陌生,所以请原谅...... 我有一个页面,其中包含一长串无序列表中的超链接:
<div class="longlist">
<ul>
<li><a href="/firstitem.aspx" title="First Item">First Item</a></li>
<li><a href="/seconditem.aspx" title="Second Item">Second Item</a></li>
...
<li><a href="/lastitem.aspx" title="Last Item">Last Item</a></li>
</ul>
</div>
此页面顶部是字母表字母的超链接列表
<div class="alphabet">
<a href="#" title="A">A</a>
<a href="#" title="B">B</a>
<a href="#" title="C">C</a>
...
<a href="#" title="Z">Z</a>
<a href="#" title="All">ALL</a>
</div>
当用户单击字母索引中的任何链接时,我需要仅显示长列表中以所选字母开头的项目。如果长列表中没有与该字母匹配的项目,我还需要将字母链接“灰显”(这样用户就不会费心点击不存在的索引)。
如何使用 jQuery 做到这一点?
最佳答案
$(document).ready(function(){.
$(".alphabet a").each(function(i){
if ($(".longlist ul li a[title^="+$(this).text()+"]").length < 1){
$(this).hide();
}
});
$(".alphabet a").click(function(){
var letter = $(this).text();
if (letter == 'ALL'){
$(".longlist ul li").show();
return;
}
$(".longlist ul li").hide();
$(".longlist ul li a[title^="+letter+"]").parent().show();
});
});
似乎对我有用:)
关于jQuery 字母索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1033502/