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

时间:2011-04-05 13:33:33

标签: jquery variables

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

下面的代码是我正在尝试做的非常简化的版本,目前它将.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>

1 个答案:

答案 0 :(得分:8)

你应该使用一个对象:

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

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

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