document.body.style.backgroundImage = "url('images[0]')";
我想将CSS body元素的backgroundImage设置为image[0]
中存储的图像,但是每当我尝试这样做时,我在javascript控制台中都会出现net::ERR_FILE_NOT_FOUND
的错误。
我认为这是因为它正在寻找一个名为'images[0]'
的图像,该图像不存在,因此我收到错误。如何设置它以便它读取实际存储在images[0]
中的图像?
很抱歉,如果以前曾经问过这个问题,我在找的时候找不到任何其他问题。
答案 0 :(得分:0)
请尝试document.body.style.backgroundImage = "url(" + images[0] + ")";
。
使用ES2015,你也可以用反引号来实现它 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
答案 1 :(得分:0)
看看这个简单的界限:
我很确定你错过了"
引号。因此,您可以使用加号字符(+)将variable
和"url()"
结合起来,以获取类似内容:"url('"+images[0]+"')"
let images = ["https://pbs.twimg.com/profile_images/643819371656294405/F-pVCbHg_400x400.png"]
document.body.style.backgroundImage = "url('"+images[0]+"')";
或者另一种方法是使用这种方式现代技术(See the docs):
let images = ["https://pbs.twimg.com/profile_images/643819371656294405/F-pVCbHg_400x400.png"]
document.body.style.backgroundImage = `url('${images[0]}')`;
答案 2 :(得分:0)
Modern JS有template literal syntax,它提供字符串插值功能。
document.body.style.backgroundImage = `url('${images[0]}')`;
如您所见,模板文字用一对外部反引号分隔,而不是典型的单引号或双引号。
模板文字中的插值通过包含应在${}
分隔符内计算的表达式来实现。表达式的结果成为注入值。
答案 3 :(得分:0)
使用现代JavaScript,template literals.
实现了这一目标所以你可以做到以下几点:
document.body.style.backgroundImage = `url('${images[0]}')`;