2015-11-28 1 views
0

Этот JS заменит имя файла изображения default.jpg на hqdefault.jpg со всех изображений ниже. Но теперь я пытаюсь добавить класс в Image, если изображение src имеет ссылку img.youtube.com на изображения, расширив этот JS.Условно добавьте класс для изображения по jquery

JS:

$('#selector img').attr('src',function(i,e){ 
    return $(this).attr('src').replace("default.jpg","hqdefault.jpg"); 
}); 

HTML:

<div id="selector"> 
    <img src="http://img.youtube.com/vi/qDc_5zpBj7s/default.jpg"> 
    <img src="http://img.youtube.com/vi/ss7EJ-PW2Uk/default.jpg"> 
    <img src="http://img.youtube.com/vi/ktd4_rCHTNI/default.jpg"> 
    <img src="http://img.youtube.com/vi/0GTXMEPDpps/default.jpg"> 
</div> 

Значит, если изображение имеет ЦСИ Youtube изображение, а затем добавить класс .video к родительскому образу.

ответ

3

Try:

$('#selector img').each(function(i) { 
    var self = $(this); 
    var src = self.attr('src'); 
    if (src.match(/img.youtube.com/)) { 
     self.attr('src', src.replace("/default.jpg","/hqdefault.jpg")); 
     self.addClass('video'); 
    } 
}); 
+0

Как добавить класс в себя? – Aariba

+0

'$ (this) .addClass ('myClassName')' – Chris

+0

, но, расширив мой JS – Aariba

1

Вы можете добавить условие перед заменой и добавить класс видео.

$('#selector img').attr('src',function(i,e){ 
    if($(this).attr('src').search('img.youtube.com') > 0){ 
     $(this).addClass('video'); 
    } 
    return $(this).attr('src').replace("default.jpg","hqdefault.jpg"); 
}); 
+0

, не изменяя атрибуты в состоянии! он отвечает на вопрос, но это плохая практика, я думаю, – Chris

+0

working ......... – Aariba

+0

@Chris с помощью поиска не изменяет никаких атрибутов. Я просто получаю его, и замена может быть внутри, если условие, если замена нужна только для youtube. Исправьте меня, Крис. Если я не понял. – Nilesh