替换背景图像javascript

替换背景图像javascript,javascript,css,background-image,Javascript,Css,Background Image,有没有办法用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("backgrou

有没有办法用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语句内部,但不执行图像更改。知道我做错了什么吗?提前感谢

我不认为有阿屈巴特背景图片,你需要使用css

$('.stLarge[style*="background-image: url(http://w.sharethis.com/images/facebook_32.png)"]').css("background-image", "url(/images/facebook.png)");

语法错误和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')");
  }
} 

BackgroundImage
是元素对象中
style
对象的属性,而不是属性。您可以使用jQuery方法更改和读取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] + '")');
}