使用 Javascript 将 Div 的背景颜色更改为变量值

Change background color of Div to value of variable using Javascript

我一直在尝试将 div 的颜色更改为随机生成的十六进制颜色代码,并将其传递到变量中。我该怎么做?

HTML

<p id="demo">NULL</p>
<button onclick="generatePassword()">Generate</button>
<div id="showcase" style="background: #FFFFFF; width: 200px; height: 200px; margin: 20px; border-radius: 3px;"></div>

JAVASCRIPT

var result = document.getElementById('demo').innerHTML;

function generatePassword() {
    var length = 6,
        charset = "ABCDEF0123456789",
        retVal = "";
    for (var i = 0, n = charset.length; i < length; ++i) {
        retVal += charset.charAt(Math.floor(Math.random() * n));
    }
    document.getElementById('demo').innerHTML = "#" + retVal;
    return document.getElementById('showcase').style.backgroundColor = retVal;
}

Link 到 fiddle:https://jsfiddle.net/elliotsoomro/gngg89t5/5/

您快搞定了,这是解决方法:https://jsfiddle.net/yL1uu6bz/1/

var result = document.getElementById('demo').innerHTML;

function generatePassword() {
    var length = 6,
        charset = "ABCDEF0123456789",
        retVal = "";
    for (var i = 0, n = charset.length; i < length; ++i) {
        retVal += charset.charAt(Math.floor(Math.random() * n));
    }
    var finalVal = "#" + retVal;
    document.getElementById('demo').innerHTML = finalVal;
    return document.getElementById('showcase').style.backgroundColor = finalVal;
}

我只是添加了散列符号,并以与输出值相同的方式附加它 ("#" + retVal),我将其添加到变量 (finalVal) 中并输出相反。