使用JQuery更改背景图像

时间:2012-01-11 12:30:02

标签: jquery css

我正在尝试更改div的背景图片。

我已将图像存储在变量中但不确定如何传递它,因为它是变量而不是直接文件路径。

var bgImage = $('#box').find('img');

$('#box2').css('background-image', url(bgImage));

我哪里错了?

6 个答案:

答案 0 :(得分:3)

你的语法错了。请改为:

$('#box2').css('background-image', "url(" + bgImage.attr("src") + ")");

无论如何,你最好检查一下你有什么:

if (bgImage.length == 1) {
    $('#box2').css('background-image', "url(" + bgImage.attr("src") + ")");
}

答案 1 :(得分:3)

bgImage不是路径,而是对img元素的引用。您需要访问其src属性的值; attr('src')

此外,您当前正在使用您的代码,就好像您正在调用一个名为url()的函数,将图像传递给它,而您实际上想要传递字符串url(...)。你必须做一些字符串连接,如下:

$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');

答案 2 :(得分:1)

$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');

答案 3 :(得分:0)

CSS的第二个参数必须是文本aswel:

$('#box2').css('background-image', 'url(' + bgImage.attr('src') + ')');

答案 4 :(得分:0)

$('#box2').css('background-image', 'url('+bgImage.attr("src")+') 0px 0px');

您必须以类似

的字符串传递它

答案 5 :(得分:-1)

使用Firebug检查您的元素。查看新背景图像的设置。

你错过了一些引用

  

$('#box2')。css('background-image','url(\''+ bgImage +'\')');

相关问题