![](/img/trans.png)
[英]JavaScript - Why doesn't the addition assignment operator work as expected?
[英]Does the Addition Assignment Operator work when adding CSS styles in JavaScript?
我多次尝试使用for
循环和"+="
运算符将"1fr "
添加到 DOM 元素的样式中,但无论我运行循环多少次,它只应用了一次。 所以,我想知道为什么它会这样。 这是我的一些代码。
for (i = 1; i <= number; i++){
sketchPadElement.style.gridTemplateColumns += "1fr ";
}
因为,我无法让它工作,我写了一个 function 来重复这个字符串,并用它来生成一个字符串中我需要的尽可能多的"1fr "
,就像这样。
function makeGrid(number) {
sketchPadElement.style.gridTemplateColumns = repeatString("1fr ", number);
}
这很好用,但我仍然很想知道为什么我之前的尝试失败了。
分配字符串时,会自动删除任何尾随空格。 因此,不要使用尾随空格,而应使用前导空格:
for (let i = 1; i <= number; i++){
sketchPadElement.style.gridTemplateColumns += " 1fr";
}
但与其循环,不如直接使用repeat()
CSS function:
sketchPadElement.style.gridTemplateColumns = `repeat(${number}, 1fr)`;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.