我究竟做错了什么?从“img1”到“img7”有7张带有预制ID的图片
function changeWidth() {
let b = 50
let k = 0
let l = `"#img${(k + 1)}"`;
for (let k = 0; k < 7; k++)
document.querySelector("l").width = `${(b = b + 50)}`;
}
回答1
评论涵盖了基础知识;在循环内移动模板文字,从模板文字中删除引号,并引用不带引号的变量。
function changeWidth() {
let b = 50
for (let k = 0; k < 7; k++) {
let l = `#img${(k + 1)}`;
document.querySelector(l).width = `${(b = b + 50)}`;
}
}
但是您实际上可以简化为不使用除循环中的索引之外的任何变量,从 1
开始 k
而不是 0
以避免添加,并使用比 querySelector
更有效的 getElementById
。
function changeWidth() {
for (let k = 1; k <= 7; k++) {
document.getElementById(`img${k}`).width = `${50 + 50 * k}`;
}
}