我有许多包含文本字符串的变量,并希望根据单击的元素选择应显示哪些变量。
下面的代码是我正在尝试做的非常简化的版本,目前它将.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>
答案 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]
以按名称获取属性值。