Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在元素列表后使用动态变量而不丢失]?_Javascript_Dynamic Variables - Fatal编程技术网

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

Javascript 如何在元素列表后使用动态变量而不丢失]?,javascript,dynamic-variables,Javascript,Dynamic Variables,我有这样一个动态变量: var oneButton= null; var oneMoreButton= null; var differentNameButton= null; var anotherButtonDifferent= null; var test = []; 那么我有这个, switch(valor){ case 0:data = "oneButton"; break; case 1:data = "oneMoreButton";break; case

我有这样一个动态变量:

var oneButton= null;
var oneMoreButton= null;
var differentNameButton= null;
var anotherButtonDifferent= null;
var test = [];
那么我有这个,

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;
}
最后我有一个:

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]

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

我不知道您到底想实现什么,但您的代码可能会更好。比如说:

var data = document.getElementById('div'+valor).parentNode;
假设存在一个名为valor的变量,该变量包含div的编号


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

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

var oneButton= null;
var oneMoreButton= null;
var differentNameButton= null;
var anotherButtonDifferent= null;
var test = [];
然后您可以直接使用“valor”:

test[valor]

听说过一种叫做数组的数据结构吗?在global中,你想做什么?我不使用数组来简化。。。我没有使用类似数组[x]的东西,因为我不能这样做。。。我想做的正是我所做的。。。。我有一些我以前声明过的变量。。。然后我需要在每个变量中加一个div…不,这是另一个变量。。。不一样。。。嗯,我需要通过用户交互来设置几个按钮。。。如果他再次打开模式,我需要保存按钮的状态。然后我将它保存在一个数组中。。。我需要拿到按钮的div。。。第一个“勇气”是确定我得到的是哪个按钮,第二个是我在那个时刻应该得到哪个按钮的值。。