我在 this thread 上尝试了投票最多的答案但它对我不起作用。
You probably want this (to make it like a normal CSS background-image declaration):
$('myOjbect').css('background-image', 'url(' + imageUrl + ')');
这是JS代码:
$('.icon-menuoption').click(function() {
$('.menu').animate({
left: "-285px"
}, 200);
$('body').animate({
left: "0px"
}, 200);
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
});
菜单和正文像预期的那样移动,但超大屏幕的背景图像没有。我在图像目录中确实有 bg_v3.png 图像,它与此 JS 代码位于同一目录中。
没有这部分:
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
它做了它应该做的,但我还想更改 background-image
。
注意:我是一个彻头彻尾的菜鸟。我正在通过代码学院学习,对 JS、jQuery 和 CSS 知之甚少,所以请尽可能详细。
谢谢!
最佳答案
这行代码中有两处需要更正:
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
首先,选择器 $('jumbotron')
不会选择任何元素。它返回 null
,因此调用 .css
函数将导致错误。如果您的定位元素具有 ID = 'jumbotron'
,则选择器应更改为 $('#jumbotron')
。如果该元素的 CSS 类为 .jumbotron
,则选择器应为 $('.jumbotron')
。
其次,您的 'url(' +/images/bg_v3.png + ')'
部分也会导致另一个错误。这应该是 'url(/images/bg_v3.png)'
。
关于jquery - 使用 jQuery CSS 属性更改背景图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38363902/