我在imageUrl变量中有一个图像URL,我试图将其设置为CSS样式,使用jQuery:
$('myObject').css('background-image', imageUrl);
这似乎并不奏效,因为:
console.log($('myObject').css('background-image'));
返回none。
知道我哪里做错了吗?
我在imageUrl变量中有一个图像URL,我试图将其设置为CSS样式,使用jQuery:
$('myObject').css('background-image', imageUrl);
这似乎并不奏效,因为:
console.log($('myObject').css('background-image'));
返回none。
知道我哪里做错了吗?
当前回答
字符串插值来拯救。
let imageUrl = 'imageurl.png';
$('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');
除了其他答案,你还可以用“background”。当你想要设置与背景使用图像的方式相关的其他属性时,这特别有用,例如:
$("myObject").css("background", "transparent url('"+imageURL+"') no-repeat right top");
这是我的代码:
$('body').css('background-image', 'url("/apo/1.jpg")');
喜欢,朋友
你可能想要这样(使它像一个普通的CSS背景图像声明):
$('myObject').css('background-image', 'url(' + imageUrl + ')');
你需要在imageUrl之前和之后包括双引号("),就像这样:
$('myOjbect').css('background-image', 'url("' + imageUrl + '")');
这样,如果图像有空格,它仍然会被设置为属性。