使用jQuery CSS属性更改背景图像不起作用

时间:2016-07-14 00:52:26

标签: jquery css background-image

我在this thread上尝试了最多投票的答案,但它并不适合我。

Most voted answer说:

  

你可能想要这个(使它像普通的CSS背景图像一样   声明):

$('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 + ')');

});

菜单和身体移动就像他们应该的那样,但是jumbotron的背景图像并没有。我在images目录中有bg_v3.png图像,该目录与此JS代码位于同一目录中。

没有这部分:

$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');

它做了它应该做的事情,但我也想改变background-image

注意:我是一个完整的菜鸟。我正在通过codeacademy学习,并且对JS,jQuery和CSS知之甚少,所以请尽可能详细。

谢谢!

1 个答案:

答案 0 :(得分:2)

在这行代码中,您需要纠正两件事:

$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');

首先,选择器$('jumbotron')不会选择任何元素。它返回null,因此调用.css函数将导致错误。如果您的定位元素具有ID = 'jumbotron',则应将选择器更改为$('#jumbotron')。如果该元素具有.jumbotron的CSS类,则选择器应为$('.jumbotron')

其次,您的'url(' + /images/bg_v3.png + ')'部分也会导致其他错误。这应该是'url(/images/bg_v3.png)'