getElementbyId('dynamic'+ var name):::不工作?

时间:2012-07-11 21:42:36

标签: javascript while-loop scope getelementbyid

我有一长串div,当有人点击带有级联延迟的“主页”按钮时,我想将所有背景颜色更改为随机颜色(我稍后会添加)。我一直在jfiddle测试这个,我似乎无法让它工作。

例如,在jsfiddle上使用1-10的while循环:    http://jsfiddle.net/PWvaw/17/

我是否存在var范围问题,或者在getElementByID方法中放置字符串/变量组合是否存在问题?它似乎显示,当我将头标记放在jfiddle的HTML部分时,代码在“getElementById(”

之后变为红色
switch (randomNumberOne) {
  case 1:
    document.getElementById(

任何帮助将不胜感激。我已经在这里搜索过,没有找到任何结论,但是,如果我错过了答案,我会道歉。谢谢!

1 个答案:

答案 0 :(得分:2)

只需删除颜色代码中的分号即可。

function backgroundColorChange() {
    var num = 1;
    while (num <= 10) {
        var randomNumberMe = Math.floor((Math.random()*10)+1);
        console.log(randomNumberMe);
        switch (randomNumberMe) {
            case 1:
              document.getElementById('r' + num).style.backgroundColor = '#db0058';
              break;
            case 2:
              document.getElementById('r' + num).style.backgroundColor = '#80e800';
              break;
            case 3:
              document.getElementById('r' + num).style.backgroundColor = '#ffb700';
              break;
            case 4:
              document.getElementById('r' + num).style.backgroundColor = '#4b5ed7';
              break;
            default:
              document.getElementById('r' + num).style.backgroundColor = '#ffffff';
              break;
        }
        num += 1;
    }
}

jsfiddle