如何在JS中使用变量作为文件路径?

时间:2018-02-14 21:36:26

标签: javascript json filepath

在尝试为网页构建一些动态内容时,我遇到了一个奇怪的问题。我做了一些研究,但找不到任何可以帮助我的东西...

这是我的代码,我尝试更改div的背景图像。 背景图像的文件路径存储在一个对象中,该对象作为JSON接收并解析为javascript对象。当我使用filepath变量的内容填充div的innerHTML时,将显示正确的URL。 当我将这个确切的URL写入backgroundImage URL时,会显示正确的图片。 但是当我尝试用变量替换文件路径时,没有任何反应。

    var myObj = JSON.parse(this.responseText);
            var URL = JSON.stringify(myObj.imageURL);
            newbox.style.backgroundImage = "url('myObj.imageURL')";
            newbox.innerHTML += myObj.Content;
            newbox.innerHTML += myObj.imageURL;
            insert.append(newbox);

在我的代码中,您可以看到我还尝试将myObj.imageURL的值字符串化并将其用作文件路径。但这也不起作用。

编辑:存储在myObj.imagURL中的文件路径如下所示:images / crew.jpg

编辑2:Manuel Otto解决了这个问题:

    newbox.style.backgroundImage = "url("+myObj.imageURL+")";

感谢所有建议!

3 个答案:

答案 0 :(得分:1)

非常接近,你是;)

(\/\*(?>[^\/\*\*\/]+)*\*\/)

答案 1 :(得分:0)

我认为你的字符串错了。 使用此:

newbox.style.backgroundImage = "url('" + myObj.imageURL + "')";

答案 2 :(得分:0)

这是一个完全有效的代码。

var myObj = {
	imageURL: "https://images.unsplash.com/photo-1494249465471-5655b7878482?ixlib=rb-0.3.5&s=997116405ede44d63ddc54f16e2db8ce&auto=format&fit=crop&w=1350&q=80",
  Content: "my div content"
}

var URL = JSON.stringify(myObj.imageURL);

var insert = document.getElementById("insert");
var newbox = document.createElement("DIV");


newbox.style.backgroundImage = `url('${myObj.imageURL}')`;
newbox.style.height = "400px";
newbox.innerHTML += myObj.Content;
newbox.innerHTML += myObj.imageURL;
insert.append(newbox);
<div id="insert"></div>