【发布时间】:2013-02-22 08:00:11
【问题描述】:
我正在修改现有网站的 A-Z 目录,它是使用 jQuery 过滤的列表。点击ALL会显示所有部门。每个部分 A-Z 都在自己的 div 中分组,并带有匹配的类,例如,所有以 A 开头的部门都有一个带有“A”类的 div。
点击 GILROY 时,我需要以相同的方式过滤掉列表中的另一组项目。我已将“gilroy”类添加到这些列表项中。
花了几个小时尝试使用过滤来破译类似的示例后,我意识到我只是不明白如何正确编码,而且这是一个时间敏感的项目。任何帮助或指出正确的方向将不胜感激。
我正在修改的现有代码如下,请参阅 css & html 的 jsfiddle 链接。
$(document).ready(function() {
$('ul#letterlist a').click(function() {
$(this).css('outline','none');
$('ul#letterlist .current').removeClass('current');
$(this).parent().addClass('current');
var filterVal = $(this).text().toUpperCase().replace(' ','-');
if(filterVal == 'ALL') {
$('div#departments div').addClass('column');
$('div#departments div div.hidden').fadeIn('fast').removeClass('hidden');
} else {
$('div#departments div.column').fadeIn('fast').removeClass('column');
$('div#departments div div').each(function() {
if(!$(this).hasClass(filterVal)) {
$(this).fadeOut('fast').addClass('hidden');
} else {
$(this).fadeIn('fast').removeClass('hidden');
}
});
}
return false;
});
});
【问题讨论】:
-
此代码将永远无法用于您想要的子搜索,仅仅是因为
gilroy的类在list item上,而且您甚至都不会过滤列表项...跨度> -
如果你要在你的问题中链接一个 jsfiddle,它应该是一个 fork 什么的。您正在对其进行更改,例如,使我的原始答案无效。
-
感谢您的提示,上面已编辑链接。