Javascript变量变量(语法错误)

时间:2011-05-26 18:16:51

标签: javascript variables

我有一个包含ID的变量。

var mediaid = '5';

我有一个变量集

var t1 = 'First';
var t2 = 'Second';
var t3 = 'THird';
etc...

我正在尝试在jQuery的.append函数中获取变量的变量。

$('#block').append('<span>{t+mediaid}</span>');

例如,如果mediaid为3,则{t+mediaid}应为t3。但我有语法错误。你能解决它吗?

3 个答案:

答案 0 :(得分:3)

$('#block').append('<span>'+{t+mediaid}+'</span>');

我不认为这是可能的。

您可能必须这样做:

$('#block').append('<span>'+window['t'+mediaid]+'</span>');
                           //if all those variables are in the window's scope

更好:

var mediaid = '5';
var t = ['', 'first', 'second', 'third', ...];

$('#block').append('<span>'+t[mediaid]+'</span>');

答案 1 :(得分:1)

为什么不将变量存储在数组中而不是神奇命名的变量中呢?然后,您可以通过索引访问数组元素。

var mediaid = 5;
var t = [
    'Zeroth',
    'First',
    'Second'
    // etc...
];

$('#block').append('<span>' + t[mediaid] + '</span>');

答案 2 :(得分:-1)

试试这个:

$('#block').append('<span>' + eval('t'+mediaid) + '</span>');