使用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)',});