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

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

这似乎并不奏效,因为:

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

返回none。

知道我哪里做错了吗?


当前回答

不要忘记jQuery css函数允许对象传递,允许您同时设置多个项目。回答的代码看起来像这样:

$(this).css({'background-image':'url(' + imageUrl + ')'})

其他回答

对于那些使用实际URL而不是变量的人:

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

不要忘记jQuery css函数允许对象传递,允许您同时设置多个项目。回答的代码看起来像这样:

$(this).css({'background-image':'url(' + imageUrl + ')'})

这是我的代码:

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

喜欢,朋友

或者其他正确的建议,我发现它更容易通常切换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');
$('myObject').css({'background-image': 'url(imgUrl)',});