jQuery – 将字符串视为变量名并返回其值

我有许多包含文本字符串的变量,并希望根据单击的元素选择应显示的变量。

下面的代码是我正在尝试做的非常简化的版本,目前它将.msgBox的innerHTML设置为’A_msg’或’B_msg’,我想要它做的是将它设置为那些值变量。

var A_msg = "You clicked A"; var B_msg = "You clicked B"; $(".trigger").mouseover(function() { var MsgToDisplay = $(this).attr('id')+"_msg"; $('#msgBox').html(MsgToDisplay); }); 
Option A
Option B

你应该使用一个对象:

 var messages = { A: "You clicked A", B: "You clicked B" }; $(".trigger").mouseover(function() { var MsgToDisplay = messages[$(this).attr('id')]; $('#msgBox').html(MsgToDisplay); }); 

您可以编写messages[someString]以按名称获取property的值。