假设我有以下代码:
for (var k = 0; k < id_arr.length; k++) {
if (k === 0) {
sets[k].setAttribute("style", "grid-column: col 1 / span 1; grid-row: row; margin-top: 40px");
}
if (k === 1) {
sets[k].setAttribute("style", "grid-column: col 18 / span 1; margin-top: 40px");
}
}
我想做的是这样的表达:
if (k <= 10) {
for (var j = 5; j < 15 ; j++){
sets[k].setAttribute("style", "grid-column: col {{j}} / span 1;");
}
}
如何在.setAttribute方法中传递此j?
答案 0 :(得分:1)
您可以使用template litteral
您的行将变成
sets[k].setAttribute("style", `grid-column: col ${j} / span 1;`);
注意使用`
代替引号
${...}
块中的所有内容均被评估为javacript,这意味着您可以执行
a = `${1 + 2}` // a = "3"
b = `${a} + 2 = ${a + 2}` // b = "3 + 2 = 5"
甚至函数调用
function to(a, b) {
let res = ""
for (let i = a; i <= b; i++) {res += ` ${i}`}
return res
}
b = `1 to 5 :${to(1, 5)}` // b = "1 to 5 : 1 2 3 4 5"