Javascript 如何在document.getElementById().style中使用JS变量?

Javascript 如何在document.getElementById().style中使用JS变量?,javascript,css,Javascript,Css,我希望这样,当我重新加载页面时,背景会被随机选择 function switchBG(urlThing) { document.getElementById("bg-img").style.display="block"; document.getElementById("bg-img").style.backgroundImage="url(urlThing)"; } var n = Math.floor((Math.random() * 2)

我希望这样,当我重新加载页面时,背景会被随机选择

function switchBG(urlThing) {
        document.getElementById("bg-img").style.display="block";
        document.getElementById("bg-img").style.backgroundImage="url(urlThing)";
    }

    var n = Math.floor((Math.random() * 2) + 1);

    if (n == 1) {
        switchBG('back1.jpg');
    }
    else if (n == 2) {
        switchBG('back2.jpg')
    }
我试过了,但什么也没发生

编辑:这是div。它是标签下的第一件事

<div id="bg-img"></div>

您需要像这样连接变量:

document.getElementById("bg-img").style.backgroundImage="url(" + urlThing + ")";

我假设bg img是
标记。 这就是你能做到的


您需要将
urlThing
变量与
backgroundImage
样式文本连接起来。实际上,你只是把它作为一个文本字符串,这是行不通的。@CertainPerformance mens这样说:
“url(“+urlThing+”)
bg img是可以的,那么对于div,你可以使用
document.getElementById(“bg img”).style.backgroundImage=“url(+urlThing+”)如果图像已加载,也可按f12并签入样式。如果是这样的话,那么您需要向该div添加css以显示图像,请尝试
div{width:400px;height:400px;border:1px solid black;}
,但如何使div填充正文?尝试更改css,我提供css只是为了使img可见。如果您希望该div填充正文,请尝试
#bg img{width:100vw;height:100vh;}
这似乎不起作用。您还需要选择宽度和高度。否则div为空。
function switchBG(urlThing) {
    document.getElementById("bg-img").style.display="block";
    var loc = window.location.pathname;
    var dir = loc.substring(0, loc.lastIndexOf('/'));
    document.getElementById("bg-img").src=dir + urlThing;
}