Javascript jQuery-根据单击的元素的ID选择变量

Javascript jQuery-根据单击的元素的ID选择变量,javascript,jquery,Javascript,Jquery,我可能忽略了一个更明显的方法来做我想做的事,但是 我有一个JS变量列表,其名称与页面上某些元素的ID相同。当我单击其中一个elmeents时,我希望能够使用单击的元素的ID来确定应该在函数中使用哪个变量。我的变量名与我的元素ID相对应-必须有某种方法可以使用$(this).ID获取我单击的元素ID的值,然后找到与该字符串匹配的变量?需要明确的是,变量的内容与变量名或元素ID根本不相关-变量是在页面加载时设置的,我希望避免每次运行函数时都设置它们!我知道我可能会用onclick来做这个,但我试图避

我可能忽略了一个更明显的方法来做我想做的事,但是

我有一个JS变量列表,其名称与页面上某些元素的ID相同。当我单击其中一个elmeents时,我希望能够使用单击的元素的ID来确定应该在函数中使用哪个变量。我的变量名与我的元素ID相对应-必须有某种方法可以使用
$(this).ID
获取我单击的元素ID的值,然后找到与该字符串匹配的变量?需要明确的是,变量的内容与变量名或元素ID根本不相关-变量是在页面加载时设置的,我希望避免每次运行函数时都设置它们!我知道我可能会用
onclick
来做这个,但我试图避免这样做,因为现在它显然是劣质的


谢谢

如果您使用一个对象来存储您正在谈论的带有键/值配对的变量,您可以调用
variableObject[this.id]
来获取该变量。

您想过将它们存储在一个对象中吗

例如:

var obj = {
   'id1' : value1,
   'id2' : value 2,
   //...
}
然后你就可以那样接近他们了

obj[this.id]

我建议您使用所有ID名称创建一个数组

thisArray = {
    uniqueID1: 'Your value for uniqueID1',
    uniqueID2: 'Your value for uniqueID2'
};
例如,可以通过类调用元素

HTML:
似乎您想要的是使用:

然后检索:

$(el).on('click', function() {
    var obj = $(this).data('myobject');
});

您是否将此“列表”存储为
对象
,以便按键查找值?试着显示一些代码。
$(this.attr('id')
基本上是
this.id
:)很可能,实际上从未使用过它。谢谢你的信息,更新我的答案!不应该有索引名。。。使用对象而不是数组。你应该像那样使用对象()而不是数组()?用Object()替换Array()是一回事吗?@Memolition-你可以这么说。它们是相似的。
$('div.elements_class').click(function(){
    var now_id = $(this).attr('id');
    alert(thisArray[now_id]);
});
$(el).data('myobject', {
    x: 123,
    y: 456
});
$(el).on('click', function() {
    var obj = $(this).data('myobject');
});