使用jQuery CSS属性设置背景图片

我有一个imageUrl变量中的图像网址,我试图将其设置为CSS样式,使用jQuery:

 $('myObject').css('background-image', imageUrl); 

这似乎不起作用,如:

 console.log($('myObject').css('background-image')); 

none返回。

任何想法,我做错了什么?

你可能想要这样做(使其像一个正常的CSS背景图像声明):

 $('myOjbect').css('background-image', 'url(' + imageUrl + ')'); 

你需要在imageUrl之前和之后包含双引号(“):

 $('myOjbect').css('background-image', 'url("' + imageUrl + '")'); 

这样,如果图像有空格,它仍然会被设置为属性。

或者别人正确的建议,我发现通常更容易切换CSS类,而不是单独的CSS设置(尤其是背景图像的URL)。 例如:

 // in CSS .bg1 { background-image: url(/some/image/url/here.jpg); } .bg2 { background-image: url(/another/image/url/there.jpg); } // in JS // based on value of imageUrl, determine what class to remove and what class to add. $('myOjbect').removeClass('bg1').addClass('bg2'); 

这是我的代码:

  $('body').css('background-image','url(“/ apo / 1.jpg”)'); 

享受,朋友

进一步的其他答案,你也可以使用“背景”。 当你想要设置与图像被背景使用的方式有关的其他属性时,这是特别有用的,例如:

 $("myObject").css("background", "transparent url('"+imageURL+"') no-repeat right top"); 

对于那些使用实际的网址而不是变量:

$('myObject').css('background-image','url(../../ example / url.html)');

字符串插值到救援。

 let imageUrl = 'imageurl.png'; $('myOjbect').css('background-image', `url(${imageUrl})`); 

为我工作

 $('myOjbect').css('background-image', 'url(' + imageUrl + ')'); 

尝试修改“样式”属性:

 $('myObject').attr('style', 'background-image: url("' + imageUrl +'")'); 
  $('myObject').css({'background-image':'url(imgUrl)',});