如何使用JQuery获取隐藏元素的类?

时间:2015-06-18 21:05:36

标签: jquery

这一定是可能的。我看到了如何获得div等级的各种答案。以下是我正在做的事情:

    var $outMap = $('img').not(':hidden');

    alert($outMap.attr("class"));

出现undefined。我知道$ outMap是有效的,因为我可以用它来制作隐藏的元素.fadeOut,但我想检索这个元素的类。尝试后我想出了上面的代码:

alert($('img').not(':hidden').attr("class"));

我确信他们正在做同样的事情,我不知道还有什么可以尝试。

1 个答案:

答案 0 :(得分:0)

问题似乎是,虽然jQuery的选择器将返回找到的任意数量的元素,但attr函数仅在存在单个元素时才会运行。

为了说明,我们假设您有一个包含5张图片的页面(如果它们隐藏或可见则无关紧要)。如果您执行$('img'),那么您将获得5个结果,并且调用.attr('class')然后返回undefined

但是,如果您选择单个图片,例如选择id属性,那么.attr('class')就会有效:$('#some-image-id').attr('class')会为您提供课程。

如果您需要为几个图像中的每个图像获取类,您需要迭代,可能使用jQuery的.each函数:

$('img:hidden').each(function(n, image) {
    alert($(image).attr('class'));
});

(请注意,n参数只是一个在循环中每次递增的数字。)