如果element的类与clicked元素的ID相同,则执行某些操作

时间:2012-07-08 09:28:04

标签: jquery class filter

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

但这也不起作用!对此有何帮助?感谢。

1 个答案:

答案 0 :(得分:1)

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

 var fadeInClass = $(this).attr("id");
 $("img."+fadeInClass).fadeIn("fast");