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

Hil*_*l79 3 variables 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);
    });

    <div class="trigger" id="A">Option A</div>
    <div class="trigger" id="B">Option B</div>
    <div id="msgBox"></div>
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 8

你应该使用一个对象:

var messages = {
    A: "You clicked A",
    B: "You clicked B"
};

$(".trigger").mouseover(function() {
  var MsgToDisplay = messages[$(this).attr('id')];
  $('#msgBox').html(MsgToDisplay);
});
Run Code Online (Sandbox Code Playgroud)

您可以编写messages[someString]以按名称获取属性的值.