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

jlb*_*ggs 0 variables jquery

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

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

var data1 = [1,2,3,4,5];
Run Code Online (Sandbox Code Playgroud)

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

<li id="data1">Data 1</li>
Run Code Online (Sandbox Code Playgroud)

我希望能够单击该<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'?
});
Run Code Online (Sandbox Code Playgroud)

use*_*654 5

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

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

  • `dataID = $(this).attr('id');` - >`dataID = this.id;` (3认同)