我正在做一个ajax请求,当它完成时我想将body元素的背景图像更改为某个主题。主题只是1 - 5。
我试过了:
document.body.style.background = "url('images/" + theme + "/background.jpg')";
和
$("body").css('background-image', `url(images/${theme}/background.jpg)`);
和
$("body").css('background-image', 'url(images/' + theme + '/background.jpg)');
和
$("body").css('background-image', 'url("images/' + theme + '/background.jpg")');
这些都不起作用。如果我在网址中硬编码就可以了:
$("body").css('background-image', 'url(images/1/background.jpg)');
任何想法我做错了什么?
答案 0 :(得分:1)
我觉得你的theme
变量可能有错误的值。请尝试console.log('theme: ' + theme);
进行检查。
您还可以在开发者控制台中查看是否报告了任何404错误。检查为您的图片调用的网址。
注意:如果您的theme
变量是一个对象,则转换为所需的字符串。
您可以验证theme
是否正确。如果它预计是一个数字,那么试试这个:
$("body").css('background-image', 'url("images/' + theme.replace(/[^\d]/g, '') + '/background.jpg")');