如何在jQuery中将函数应用于多个图像?

时间:2010-11-02 13:33:40

标签: javascript jquery image getelementbyid grayscale

我需要一些帮助(可能)非常简单。

我想使用一个将图像从彩色转换为灰度的脚本。 我得到了部分工作 - 第一个图像变灰,但第二个图像不变。

我知道这是因为id不能多次使用:

var imgObj = document.getElementById('grayimage');

我试过了:

var imgObj = $(’.grayimage’)[0];

但它没有用。将其更改为getElementByClass也不起作用。 (在人们问之前,我确实将id更改为<img>标记中的类。)

我真的可以在这里使用一些帮助。提前谢谢!

2 个答案:

答案 0 :(得分:2)

$('.grayimage').each(function(idx,imgObj){
    <do your code here>
});

答案 1 :(得分:2)

$('。grayimage')为您提供了包含grayimage作为类的所有元素的列表。如果添加“[0]”,则表示您正在访问第一个元素,因此您所做的任何更改都将仅适用于它在此类中找到的第一个图像。

你应该循环遍历所有元素:

var images = $('.grayimage');
for(i = 0; i < images.length; i++) {
   var image = images[i];

   // Do stuff
}