元素列表后如何使用动态变量而不丢失?

时间:2011-07-19 13:00:17

标签: javascript dynamic-variables

我有一个像这样的动态变量:

var oneButton= null;
var oneMoreButton= null;
var differentNameButton= null;
var anotherButtonDifferent= null;

然后我有了这个:

switch(valor){
    case 0:data = "oneButton"; break;
    case 1:data = "oneMoreButton";break;
    case 2:data = "differentNameButton";break;
    case 3:data = "anotherButtonDifferent";break;
}

然后我终于有了这个:

switch(anotherValor){           
case 1:eval(data + ' = ' + document.getElementById('oneNameDiv').parentNode);break;
case 2:eval(data + ' = ' + document.getElementById('anotherDivName').parentNode);break;
case 3:eval(data + ' = ' + document.getElementById('oneMoreDivWithDifferentName').parentNode);break;
case 4:eval(data + ' = ' + document.getElementById('hereIsAnotherDivName').parentNode);break;
}

我尝试执行它后,我在firefox控制台中收到错误:

missing ] after element list
http://localhost:8090/myapplication/functions.js 
test1 = [objectHTMLDivElement]

有人知道发生了什么事吗?

2 个答案:

答案 0 :(得分:1)

我不知道你到底想要实现什么,但你的代码可能会更好。像这样的东西:

var data = document.getElementById('div'+valor).parentNode;

假设有一个名为valor的变量,其中包含div的编号。

你能解释一下你在做什么吗?

答案 1 :(得分:0)

你可以声明一个这样的数组:

var test = [];

然后你可以直接使用“valor”:

test[valor]