问题描述
作为概念的证明,我试图使用与原始图像相同的jQuery来更改div的背景图像。
原始的CSS是:
的CSS
.content {
background-image: url("test.jpg");
}
包装内的jQuery:
$('.content').css("background-image", 'url(test.jpg)');
我可以看到jQuery正常运行,并替换了图像(并在Firebug中验证了CSS完全相同),但是由于某种原因,在jQuery触发后,浏览器“无法加载图像”。
计算的CSS完全相同。 如果我取消选择jQuery抛出的嵌入式规则,则旧规则将被激活并显示图像。
为什么浏览器在插入内联规则时与在CSS文件中时不同对待规则?
1楼
您的jQuery中有错字:
$('.content').css("background-image", 'url(test.jpg)');
应该:
$('.content').css("background-image", 'url("test.jpg")');
2楼
缺少引号不是问题。 问题是图像的路径 。
如果图像与页面位于同一文件夹中,则可以使用test.jpg 。
如果图像位于站点上的其他文件夹中,则需要包括该图像的相对路径:
$('.content').css("background-image", 'url(../images/test.jpg)');
3楼
$('.content').css("background-image", 'url(test.jpg)');
用。。。来代替
$('.content').css("background-image", 'url("test.jpg")');
请注意缺少引号。