我一定忽略了一些东西,但是下面的代码对我不起作用(很抱歉这么基本的东西):
(function(){
document.body.addEventListener("click", function(){
var test = "rgb(" + parseInt((9.3 * Math.random())) + "," + parseInt((9.1 * Math.random())) + "," + parseInt((102 * Math.random())) + ");";
this.style.backgroundColor = test;
console.log(test); // corretly outputs rgb(12, 20, 30)
}, false);
})();
使用字符串作为值,并将变量分配给包含 rgb 值的字符串也可以,但使用 test
作为值不起作用,并且不会显示任何控制台错误。这是为什么?
最佳答案
它没有正确输出rgb(12, 20, 30)
,它输出rgb(12, 20, 30);
您正在设置
this.style.backgroundColor = "rgb(12, 20, 30);";
有一个分号导致该值无效。您需要从字符串中删除分号
+ ");";
^
应该是
+ ")";
关于javascript - 将变量分配给样式属性的值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001947/