有没有办法用javascript更改背景图片样式?我目前有:
if($(".stLarge").attr.backgroundImage = "http://w.sharethis.com/images/facebook_32.png") {
console.log('hello');
$('.stLarge[backgroundImage="http://w.sharethis.com/images/facebook_32.png"]').attr("backgroundImage", "url(/images/facebook.png)";
}
它进入if语句但没有执行图像更改。知道我做错了什么吗?提前致谢
答案 0 :(得分:2)
BackgroundImage
是元素对象中style
对象的属性,而不是属性。您可以使用jQuery .css()
方法更改和读取css属性。
var imgUrls = ['http://w.sharethis.com/images/facebook_32.png', '/images/facebook.png']
var $jq = $(".stLarge");
if($jq.css('background-image').indexOf(imgUrls[0]) > -1){
$jq.css('background-image', 'url("' + imgUrls[1] + '")');
}
答案 1 :(得分:0)
答案 2 :(得分:0)
语法错误和jQuery的滥用。这样做:
$('.stLarge').each(i, e){
if($(e).css('backgroundImage').match(/url\(('|")?https?\:\/\/w\.sharethis\.com\/images\/facebook_32\.png(\1)?\)/)){
$(e).css('backgroundImage', "url('/images/facebook.png')");
}
}