我在多个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) );
}
});发布于 2015-08-03 19:26:06
在加载文档时尝试使用这个伪:visible (假设文件加载时随机创建图像)如下:
$('.fruit:visible').each(function(){
passFunction( $(this).attr("id") );
});发布于 2015-08-03 19:27:02
这很容易通过:visible和.each()来完成。
$('#getIDs').click(function(){
$('.fruit:visible').each(function (){
passFunction( $(this.id) );
});
});但
可见选择器可能不会选择所有“不可见”的图像。(例如可见但屏幕外的图像)
发布于 2015-08-03 19:38:17
正如leonid所提到的,如果您的代码正在显示/隐藏图像元素,则可以使用:可视选择器和上述任何代码示例。您还需要注意图像是如何显示/隐藏的。如果它是由不透明度或可见性css样式控制,它将出现在可见的图像in,即使没有显示在屏幕上。如果它的css样式显示为display:none,它不会被捕捉到:可见选择器,这就是我在jquery可见选择器示例中提到的。您可以参考https://api.jquery.com/visible-selector/
https://stackoverflow.com/questions/31795113
复制相似问题