-1

我尝试了这段代码,但他没有工作-

var $this = $('img');
if ($this.attr('src') == '/templates/babydrive/dleimages/no_image.jpg') {
    $this.css('display', 'none');
}

什么是问题?请帮忙!

4

4 回答 4

1

用于.each()检查所有图像。您只检查第一张图片。

var images = $('img');

images.each(function() {
    if ($(this).attr('src') == '/templates/babydrive/dleimages/no_image.jpg') {
        $(this).css('display', 'none');
    }
});
于 2013-10-02T20:57:40.800 回答
0

用于.filter()查找与函数调用匹配的元素:

$('.img').filter(function() {
    return $(this).attr('src') == '/templates/babydrive/dleimages/no_image.jpg';
}).hide();

您也可以将 放在src选择器中:

$('.img[src=/templates/babydrive/dleimages/no_image.jpg]').hide();
于 2013-10-02T20:57:50.663 回答
0

您的代码正在检查它看到的第一个“IMG”标签。在您的标记中使用 CSS 来更具体地指出图像(也就是,如果它只是一个图像,则使用一个 ID,否则使用一个类,例如具有该类的一组图像)。

于 2013-10-02T20:55:37.613 回答
0

根据其来源设置每个图像的显示属性:

$('img').css('display', function() {
    return $(this).attr('src')==='/templates/babydrive/dleimages/no_image.jpg' ? 'none' : 'inline';
});
于 2013-10-02T20:56:01.823 回答