我有一个数组,我用来循环我存储在变量中的div ...但我想使用数组中的值作为我想检查的变量名称的一部分。
以下是我试图做的一个例子:
var data_one = document.getElementById('test'),
data_two = document.getElementById('test2'),
array = ['one','two'];
for (var i = 0; i < array.length; i++) { //error on this line
if(parseInt(data_+array[i]) < 3){
//do something
}
}
但我收到此错误Uncaught ReferenceError: data_ is not defined
有没有办法使用数组值来像变量名一样?
答案 0 :(得分:3)
怎么样:
var data = [
document.getElementById('test'),
document.getElementById('test2')
];
for (var i = 0; i < data.length; i++) {
if(parseInt(data[i]) < 3){
//do something
}
}
或与对象:
var data = {
'one': document.getElementById('test'),
'two': document.getElementById('test2')
};
for (var i in data) {
if(parseInt(data[i]) < 3){
//do something
}
}
答案 1 :(得分:0)
使用eval将字符串评估为javascript代码
var data_a = 12;
var b = "a";
alert("data_"+b); // alerts data_a
alert(eval("data_"+b)); // alerts 12
答案 2 :(得分:-2)
var data_one = document.getElementById('test'),
data_two = document.getElementById('test2'),
array = ['one','two'];
for (var i = 0; i < array.length; i++) {
eval("var curr_array = data_"+array[i]);
if(parseInt(curr_array) < 3){
//do something
}
}