Javascript-将for循环索引附加到循环内的变量

Javascript-将for循环索引附加到循环内的变量,javascript,Javascript,我正在尝试使用for循环以元素列表为目标: for(var i = 1; i < 5; ++i){ console.log(i) target[i].classList.remove('redText') anchor[i].classList.remove('redText') } 在控制台里我得到 ReferenceError:未定义目标 这意味着索引没有附加到目标和锚定 这可能实现吗?这就是您要寻找的: for(var i = 1; i < 5; ++

我正在尝试使用for循环以元素列表为目标:

for(var i = 1; i < 5; ++i){
    console.log(i)
    target[i].classList.remove('redText')
    anchor[i].classList.remove('redText')
}
在控制台里我得到

ReferenceError:未定义目标

这意味着索引没有附加到
目标
锚定


这可能实现吗?

这就是您要寻找的:

for(var i = 1; i < 5; ++i){
    console.log(i)
    document.getElementById('target' + i).classList.remove('redText')
    document.getElementById('anchor' + i).classList.remove('redText')
}
for(变量i=1;i<5;++i){
控制台日志(i)
document.getElementById('target'+i).classList.remove('redText')
document.getElementById('anchor'+i).classList.remove('redText'))
}

.

target1是元素id吗?请确保
target
引用的是DOM元素的集合,或者确保在代码中声明了
target
。这里不是专家,但您是否缺少目标数组的初始化?抱歉,我遗漏了这一部分。它们是元素ID。。。我在后端使用了一个模板引擎,所以它们的定义方式对于这个问题来说可能有点混乱。我假设这在正常情况下是可行的。但我现在意识到我的问题有误导性,因为我的逻辑与后端模板引擎生成的元素相关联。我找到了一个解决方案,但它超出了这个问题的范围。HTML的生成方式是如何影响事情的?@一直以来,你的问题都非常具体,这就是你所问问题的正确答案。当然应该选择@net.uk.sweet作为答案。@net.uk.sweet我的意思是你的解决方案在我的情况下不起作用。目标元素id是由模板引擎中的for循环生成的,因此当javascript循环运行时,
target1
target2
等实际上不存在。但是你的回答显然是有用和正确的,所以我会接受它。很抱歉给你带来了困惑。
for(var i = 1; i < 5; ++i){
    console.log(i)
    document.getElementById('target' + i).classList.remove('redText')
    document.getElementById('anchor' + i).classList.remove('redText')
}