2013-09-18 5 views
3

Хорошо, так у меня есть эта функция, которая получает в IMG SRC для каждого Img с классом видимым:сравнивая два IMG SRC

$('.visible').each(function() { 
     var img = ($(this).attr('src')); 
      alert(img); 
      }); 

теперь нужно сравнить первые два IMG SRC, чтобы увидеть, если они являются такой же я пробовал это:

$('.visible').each(function() { 
     var firstImg = ($(this).eq(0).attr('src')); 
     var secondImg = ($(this).eq(1).attr('src')); 

if(firstImg == secondImg){ 
alert('match'); 
}else{ 
alert('not a match'); 
} 

      }); 

это явно неправильно, так как я могу это сделать?

+0

Сравнить '$ ('видимые:. Эк (0) ') и' $ (' видимые:. Эк (1)') ' –

ответ

5

Внутри each обработчика this относится к одному элементу изображения, поэтому $(this).eq(1).attr('src') всегда будет возвращать undefined

что вам нужно

var $imgs = $('.visible'); 

var firstImg = $imgs.eq(0).attr('src'); 
var secondImg = $imgs.eq(1).attr('src'); 

if(firstImg == secondImg){ 
    alert('match'); 
}else{ 
    alert('not a match'); 
} 
+0

Благодаря совершенному я не могу acecpt вашего ответа, но пока я скоро я смогу – swsa

3

См http://jsfiddle.net/j5bsU/

HTML

<img class="visible" src="fake.png" /> 
<img class="visible" src="anotherfake.png" /> 
<img src="noclassimg.png" /> 
<img class="visible" src="lastimg.png" /> 

JS

$(document).ready(function() 
{ 
    var imgs = $('.visible'); 
    var firstSrc = imgs[0].src; 
    var secondSrc = imgs[1].src; 
    alert(firstSrc == secondSrc); 
});