为什么我不能使用ES6模板字面值与.css()方法
Why can't I use ES6 template literals with .css() method?
我动态创建网格块,我需要动态改变每个块的颜色。我正在使用jQuery和ES6,但是我目前遇到一个动态更改颜色的问题。
下面是我的代码:$(document).ready(function() {
let y = new Array(20);
let x = new Array(29);
let colors = Array.of('red','green','orange','pink','purple');
let xCoordinate = 20
for (let block of x) {
let randomColor = colors[Math.floor(Math.random() * colors.length)];
let gridBlock = $(`<div class='blockattribute' style=left:${xCoordinate}px></div>`);
gridBlock.addClass('topcoordinate');
gridBlock.css(`{background-color:${randomColor}}`);
$('#colorgrid').append(gridBlock);
xCoordinate += 20;
}
});
我遇到的问题是这部分gridBlock.css(
{background-color:${randomColor}} );
这段代码根本没有设置颜色。我遗漏了什么吗?
因为你要传递这个
`{background-color:${randomColor}}`
将变成字符串(不是对象)
'{background-color:YOUR_COLOR}'
但是css()需要像
这样的属性对象element.css({ 'background-color': 'red' })
意思是你应该做
gridBlock.css({ 'background-color': randomColor })
或者你可以传递两个字符串,比如
gridBlock.css('background-color', randomColor);
这个用例并不需要模板字符串
仅使用模板文字表示颜色,camelCase表示带连字符的属性
gridBlock.css({backgroundColor:`${randomColor}`});
你根本不需要模板字面量
gridBlock.css({backgroundColor:randomColor});
相关文章:
- 如何在javascript中添加字符串字面值的正则表达式
- 为什么String的方法.字符串字面值可用的原型
- 在Javascript中生成LLVM浮点十六进制字面值
- 线程“main”中的异常webdriverexception:未终止字符串字面值
- 为什么我不能使用ES6模板字面值与.css()方法
- 从对象内部的函数调用函数(对象字面值)
- 使用对象字面值创建新对象(函数)
- 如何在JavaScript中使用两个数组来创建对象字面值数组
- 带有混合变量的字面值字符串
- js表达式转换为字符串字面值
- SyntaxError:未终止字符串字面值(下划线模板)
- 循环遍历对象字面值和数组
- SyntaxError:未终止字符串字面值
- 布尔字面值和布尔值之间的区别是什么?
- ' 10e1 '是整数字面值还是浮点字面值?
- 包含JavaScript中字符串的字面值的字符串
- 如何对字面值字符串求反
- 多行字符串字面值和测试
- 如何转义字符串字面值中的u
- 将对象字面值压入数组(重复自身)