我在imageUrl
变量中有一个图像 URL,我正在尝试使用 jQuery 将其设置为 CSS 样式:
$('myObject').css('background-image', imageUrl);
这似乎不起作用,因为:
console.log($('myObject').css('background-image'));
返回none
。
任何想法,我做错了什么?
我在imageUrl
变量中有一个图像 URL,我正在尝试使用 jQuery 将其设置为 CSS 样式:
$('myObject').css('background-image', imageUrl);
这似乎不起作用,因为:
console.log($('myObject').css('background-image'));
返回none
。
任何想法,我做错了什么?
你可能想要这个(使它像一个普通的 CSS 背景图像声明):
$('myObject').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");