这一定是可能的。我看到了如何获得div
等级的各种答案。以下是我正在做的事情:
var $outMap = $('img').not(':hidden');
alert($outMap.attr("class"));
出现undefined
。我知道$ outMap是有效的,因为我可以用它来制作隐藏的元素.fadeOut
,但我想检索这个元素的类。尝试后我想出了上面的代码:
alert($('img').not(':hidden').attr("class"));
我确信他们正在做同样的事情,我不知道还有什么可以尝试。
答案 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
参数只是一个在循环中每次递增的数字。)