通过jquery有条件地将类添加到图像

时间:2015-11-28 13:49:18

标签: javascript jquery html addclass

此JS从下面的所有图像中将图像文件名default.jpg替换为hqdefault.jpg。但是现在我试图通过扩展这个JS来为图像添加类,如果图像 src 在图像上有img.youtube.com链接。

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>

表示如果图像src具有Youtube图像,则将类.video添加到父图像。

2 个答案:

答案 0 :(得分:3)

尝试:

$('#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');
    }
});

答案 1 :(得分: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");
});