在javascript中使用动态变量更新div id

在javascript中使用动态变量更新div id,javascript,Javascript,我认为这很容易,但这不起作用,尽管它也不会给出错误 我在我的网页上有一些id为display1、display2、display3的文本 当我尝试在这样的循环中更新它们时,什么都没有发生 for (i = 1; i < 4; i++){ ('display' + i).innerHTML = "123"; } (i=1;i

我认为这很容易,但这不起作用,尽管它也不会给出错误

我在我的网页上有一些id为display1、display2、display3的文本

当我尝试在这样的循环中更新它们时,什么都没有发生

for (i = 1; i < 4; i++){
('display' + i).innerHTML = "123";
}
(i=1;i<4;i++)的
{
('display'+i).innerHTML=“123”;
}

我做错了什么?有更好的方法吗?

在代码中,如果没有正确选择元素,请尝试以下方法:

for (var i = 1; i < 4; i++) {
    document.getElementById('display' + i).innerHTML = '123';
}
for(变量i=1;i<4;i++){
document.getElementById('display'+i).innerHTML='123';
}
JSFiddle示例

试试看

for (i = 1; i < 4; i++){
document.getElementById('display' + i).innerHTML = "123";
}
(i=1;i<4;i++)的
{
document.getElementById('display'+i).innerHTML=“123”;
}
或者(更好的做法),我建议您为所有显示元素指定一个类名和

displays=document.getElementsByClassName('newClassNameOfDisplays');
for (i = 1; i < displays.length+1; i++){
displays[i].innerHTML = "123";
}
displays=document.getElementsByClassName('newClassNameOfDisplays');
对于(i=1;i

您的代码无法工作,因为
String().innerHTML
不存在,您必须从DOM获取元素,而不是创建字符串。:)

评论中给出的答案可能都是正确的(不确定为什么没有作为答案发布)。代码中发生的事情是,您正在创建一个字符串(
('display')+i
),然后在该字符串上创建一个名为
innerHTML
的新属性,然后将新的
innerHTML
属性的值设置为


这不会给出错误的原因是(几乎)JavaScript中的所有内容都是对象,您可以随意设置对象的属性。例如
(“Hello”).description=“a greeting”
是一个非常有效的JavaScript语句。

您错过了使用jquery调用选择器的$document.getElementById('display'+i).innerHTML=“123”为什么需要将其包装在匿名函数中?这是完全没有必要的。使用
[“display”,j]也是如此。你不能只使用
“display”+j
?是的,在这种情况下它是不必要的,因为它是同步的。这是个人喜好。更新答案。用户
asimes
首先回答问题值得表扬。