用图像url替换空src - JQuery

时间:2014-01-29 10:52:35

标签: jquery

我有一个包含多个图片的页面,所有图片都有.listImage

<img src="/path/to/image1.png" class="listImage">
<img src="/path/to/image2.png" class="listImage">
<img src="" class="listImage">
<img src="/path/to/image3.png" class="listImage">

在某些情况下,这些实际上可能没有.src值,因此我想替换任何不使用虚拟图像的内容。

这是我正在尝试但由于某种原因无效的事情:

$().ready(function() {
    $('.listImage').each(function () {
        if (this.src.length == 0) {
            $(this).attr('src','/images/img_blank.png');
        }
    });
});

9 个答案:

答案 0 :(得分:4)

使用attribute selector

尝试此操作
$().ready(function () {
    $('.listImage[src=""]').attr('src','/images/img_blank.png');
});

答案 1 :(得分:0)

不确定这是否是您的问题但是。 。

$()更改为$(document)

做到了吗?

如果不试试。 。

$(document).ready(function() {
    $('.listImage').each(function () {
        if($(this).attr("src") == "#") {
            $(this).attr('src','/images/img_blank.png');
        }
    });
});

将空src属性值更改为#

答案 2 :(得分:0)

使用此条件

if (this.attr("src").length == 0) {

试试这个:

$(document).ready(function() {
  $('.listImage').each(function () {
    if (this.attr("src").length == 0) {
        $(this).attr('src','/images/img_blank.png');
    }
  });
});

答案 3 :(得分:0)

使用:

$('.listImage').each(function () {
    if ($(this).attr('src') == '') {
        $(this).attr('src','/images/img_blank.png');
    }
});

答案 4 :(得分:0)

试试这个

$(document).ready(function(){
   $('.listImage').each(function (index,value) {
        if ($(value).attr('src')=='') {
            $(value).attr('src','notfound.png');
        }
    });
}

答案 5 :(得分:0)

以防您使用data-src等属性而不是src。这会奏效:

$('.listImage').each(function () {
    if (!hasAttr('src')) {
     temp_attr = $(this).attr('data-src'); //temporary attribute for your src

        $(this).attr('src',temp_attr); //Create src attribute with your value

    $(this).removeAttr('data-src'); //remove temporary attribute to clean up stuff.
    }
});

来自上面的代码,以防你使用img标签:

<img data-src="image.png">

将转换为带有src属性的img标记,如下所示:

<img src="image.png">

希望这有帮助!

答案 6 :(得分:0)

这是

$(document).ready(function() {
    $('.listImage').each(function (index,i) {
        alert(index)
        if ($(".listImage:eq("+index+")").attr("src").length == 0) {
                $(".listImage:eq("+index+")").attr('src','/images/img_blank.png');
        }
    });
});

答案 7 :(得分:0)

使用简单的方式:http://jsfiddle.net/aamir/WgF5H/1/

$('.listImage[src=""]').attr('src', '/images/img_blank.png')

答案 8 :(得分:0)

  

另见此代码

$('.listImage').each(function () {
    if ($(this).attr("src")=="") {
        $(this).attr('src','/images/img_blank.png');
    }
});