将变量传递给.setAttribute方法

时间:2018-08-31 09:54:23

标签: javascript jquery

假设我有以下代码:

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?

1 个答案:

答案 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"