jQuery - 使用元素id来调用同名的现有变量......?

时间:2012-10-10 17:35:57

标签: jquery variables

我发现了一些看似与我需要的相似的帖子,但似乎都没有解决我的问题。

我有一组包含数据数组的变量。例如:

var data1 = [1,2,3,4,5];

我在页面上的元素与id匹配这些变量名称。

<li id="data1">Data 1</li>

我希望能够点击<li>元素,并调用相关变量。 如何通过单击id为data1 ...?

的元素来使用变量data1

作为一个基本的例子,假设我想提醒data1数组的内容。 我从这样的事情开始:

$('li').click(function() {
   dataID = $(this).attr('id');

   alert( ...? ); // <- how do I get the contents of the variable data1 now that I know the clicked element's id was 'data1'?
});

2 个答案:

答案 0 :(得分:5)

如果将变量存储在对象上,则可以使用数组表示法轻松引用它。

var dataObj = {};
dataOjb.data1 = [1,2,3,4,5];
$('li').click(function() {
   alert( dataObj[this.id] );
});

答案 1 :(得分:0)

您可以随时使用eval(dataID)来调用您的变量,但我建议您将值存储在对象中。事实上,除非绝对必要,否则不要使用eval。最好将值存储在对象中。