我尝试了这段代码,但他没有工作-
var $this = $('img');
if ($this.attr('src') == '/templates/babydrive/dleimages/no_image.jpg') {
$this.css('display', 'none');
}
什么是问题?请帮忙!
用于.each()
检查所有图像。您只检查第一张图片。
var images = $('img');
images.each(function() {
if ($(this).attr('src') == '/templates/babydrive/dleimages/no_image.jpg') {
$(this).css('display', 'none');
}
});
用于.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();
您的代码正在检查它看到的第一个“IMG”标签。在您的标记中使用 CSS 来更具体地指出图像(也就是,如果它只是一个图像,则使用一个 ID,否则使用一个类,例如具有该类的一组图像)。
根据其来源设置每个图像的显示属性:
$('img').css('display', function() {
return $(this).attr('src')==='/templates/babydrive/dleimages/no_image.jpg' ? 'none' : 'inline';
});