我正在尝试更改div的背景图片。
我已将图像存储在变量中但不确定如何传递它,因为它是变量而不是直接文件路径。
var bgImage = $('#box').find('img');
$('#box2').css('background-image', url(bgImage));
我哪里错了?
答案 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 +'\')');