javascript - 将变量分配给样式属性的值不起作用

标签 javascript

我一定忽略了一些东西,但是下面的代码对我不起作用(很抱歉这么基本的东西):

(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/

相关文章:

javascript - 通过匹配另一个数组的值来进行 Angular ng-repeat 过滤

javascript - 如何使用 javascript 更改 .css 优先级

javascript - IOS Safari window.alert,window.confirm 在 onpopstate 触发后不起作用

javascript - jQuery 中的 Pub/Sub 范围

javascript - 单击 ReactJs 中的复选框时出现未定义错误

JavaScript 根据按钮点击隐藏/显示 DIV

javascript - 下拉列表 fromtime 选择之前的时间 禁用 totime

javascript - 在 Firefox 中从父级调用 iframe 中的函数

javascript - Angular 2路由器在参数值为1的地方导航

javascript - 如何设计长下拉的树形垂直菜单?