首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Document.getElementById(元素).innerText=变量

Document.getElementById(元素).innerText=变量
EN

Stack Overflow用户
提问于 2015-10-27 10:09:31
回答 4查看 4.5K关注 0票数 0

我正在尝试编写一个循环,以改进我为网页上的html元素赋值的方式。

现在我用..。

代码语言:javascript
复制
document.getElementById("Season201516Score1").innerHTML = Game201516Score1;
document.getElementById("Season201516Score2").innerHTML = Game201516Score2;
document.getElementById("Season201516Score3").innerHTML = Game201516Score3;

等等..。

变量是

代码语言:javascript
复制
var Game201516Score1= "L 0-2"
var Game201516Score2= "W 1-0"
var Game201516Score3= "D 2-2"

我使用的循环是

代码语言:javascript
复制
for (var i = 1; i <= 3; ++i) 
{
element = 'Season201516Score' + i
Score = ('Game201516Score' + i)
document.getElementById(element).innerText = Score;
}

它的工作原理是将文本放在页面的正确元素中,而不是值"L 0-2“、"W 1-0”或"D 2-2“,而是给出文本"Game201516Score1”、"Game201516Score2“和"Game201516Score3”。

有人能告诉我我做错了什么吗。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-27 10:12:45

代码语言:javascript
复制
Score = ('Game201516Score' + i)

是字符串而不是变量。因此,您要将该字符串分配给html,而不是将变量分配给html。您需要将字符串转换为变量,以便能够首先使用它。如果它是一个全局变量,那么window[Score]应该给出正确的答案,而不是仅仅使用分数。否则,您也可以使用this[Score]

票数 0
EN

Stack Overflow用户

发布于 2015-10-27 10:12:41

你能把分数存储在一个数组中吗?就像这样-

代码语言:javascript
复制
var Game201516Score = [];
Game201516Score[0]= "L 0-2"
Game201516Score[1]= "W 1-0"
Game201516Score[2]= "D 2-2"

for (var i = 0; i < 3; i++) 
{
   element = 'Season201516Score' + i
   document.getElementById(element).innerText = Game201516Score[i];
}
票数 1
EN

Stack Overflow用户

发布于 2015-10-27 10:14:53

eval:将Score = ('Game201516Score' + i);行更改为Score = eval('Game201516Score' + i);

window:如果eval不适合您,那么对上面的Score = window["Game201516Score" + i];进行尝试;

希望一切都会好起来!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33365030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档