在javascript中使用引号内的变量

时间:2018-04-21 15:20:10

标签: javascript string

document.body.style.backgroundImage = "url('images[0]')";

我想将CSS body元素的backgroundImage设置为image[0]中存储的图像,但是每当我尝试这样做时,我在javascript控制台中都会出现net::ERR_FILE_NOT_FOUND的错误。

我认为这是因为它正在寻找一个名为'images[0]'的图像,该图像不存在,因此我收到错误。如何设置它以便它读取实际存储在images[0]中的图像?

很抱歉,如果以前曾经问过这个问题,我在找的时候找不到任何其他问题。

4 个答案:

答案 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]}')`;