传递可见图像的ID

我有多个div内的21个图像。 以下是图像的一个例子。

<img src="fruits/lychee.png" class ="fruit" id="fruitl156">
<img src="fruits/cranberry.png" class ="fruit" id="fruitl141">
<img src="fruits/avocado.png" class ="fruit" id="fruitl214">

当页面加载3 - 6随机图像将可见。 现在我想能够知道哪些图像可以通过其ID进行查看。 所以基本上我想将每个可见图像的id传递给一个函数。

这就是我所做的。 但它没有按预期做到。 并非所有可见的图像ID都被传递。 我如何识别可见图像并能够将其每个ID传递给passFunction()

$('#getIDs').click(function(){
   if( $('.fruit').css('visibility', 'visible') ){
       passFunction( $(this.id) );
   }
});

尝试使用这个pseudo :visible在文档加载时:visible (假设图像是在文档加载时随机创建的),如下所示:

$('.fruit:visible').each(function(){
       passFunction( $(this).attr("id") );
});

这很容易使用:visible和.each()

$('#getIDs').click(function(){
    $('.fruit:visible').each(function (){
       passFunction( $(this.id) );
   });
});

:可见选择器可能不会选择所有“不可见”图像。 (例如图像可见但不在屏幕上)


正如leonid提到的,如果您的代码显示/隐藏图像元素,您可以使用:可见选择器与任何上述代码示例。 您还需要了解如何显示/隐藏图像。 如果它由不透明度或可见性CSS样式控制,则即使屏幕上未显示,也会显示可见图像ID。 如果它的CSS样式为display:none它不会被捕获:可见选择器是我在jQuery可见选择器示例中注意到的。 你可以参考https://api.jquery.com/visible-selector/

链接地址: http://www.djcxy.com/p/83549.html

上一篇: Pass IDs of visible images

下一篇: How to include <a> tag sibling in dropdown menu function onclick?