0

我认为标题是不言自明的。需要发生的是,当用户单击菜单项时,屏幕上的图像会被过滤。这仅通过显示与单击元素的 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");
}); 

但这也不起作用!对此有什么帮助吗?谢谢。

​</p>

4

1 回答 1

1

.hasClass()返回一个布尔值,而不是 jQuery 集合。您可以直接在选择器中使用类名。

 var fadeInClass = $(this).attr("id");
 $("img."+fadeInClass).fadeIn("fast");
于 2012-07-08T09:29:50.990 回答