我认为标题是不言自明的。需要做的是当用户点击菜单项时,屏幕上的图像被过滤。这通过仅显示与所单击元素的ID具有相同类别的图像来实现。这是我到目前为止所尝试的代码:
var imgFilterBtn = $("nav > ul > li > ul > li > a");
imgFilterBtn.click(function() {
$("img").fadeOut("fast");
var fadeInClass = $(this).attr("id");
$("img").hasClass(fadeInClass).fadeIn("fast");
});
我还尝试将图像放在包装中并用子项过滤它们:
var imgFilterBtn = $("nav > ul > li > ul > li > a");
imgFilterBtn.click(function() {
$("img").fadeOut("fast");
var fadeInClass = $(this).attr("id");
$("#imgWrap").children("." + fadeInClass).fadeIn("fast");
});
但这也不起作用!对此有何帮助?感谢。
答案 0 :(得分:1)
.hasClass()
返回一个布尔值,而不是jQuery集合。您可以直接在选择器中使用类名。
var fadeInClass = $(this).attr("id");
$("img."+fadeInClass).fadeIn("fast");