我在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。
知道我哪里做错了吗?
当前回答
对于那些使用实际URL而不是变量的人:
$('myObject').css('background-image', 'url(../../example/url.html)');
其他回答
不要忘记jQuery css函数允许对象传递,允许您同时设置多个项目。回答的代码看起来像这样:
$(this).css({'background-image':'url(' + imageUrl + ')'})
字符串插值来拯救。
let imageUrl = 'imageurl.png';
$('myOjbect').css('background-image', `url(${imageUrl})`);
除了其他答案,你还可以用“background”。当你想要设置与背景使用图像的方式相关的其他属性时,这特别有用,例如:
$("myObject").css("background", "transparent url('"+imageURL+"') no-repeat right top");
尝试修改"style"属性:
$('myObject').attr('style', 'background-image: url("' + imageUrl +'")');
我遇到的问题是,我一直在加分号;在url()值的末尾,这会阻止代码工作。
❌不工作代码:
$('#image_element').css('background-image', 'url(http://example.com/img.jpg);');
//--------------------------------------------------------------------------^
✅工作代码:
$('#image_element').css('background-image', 'url(http://example.com/img.jpg)');
注意省略的分号;在工作代码的末尾。我只是不知道正确的语法,而且真的很难注意到。希望这能帮助到其他处境相同的人。