我在Javascript中有类似字典的Object
,当我想通过页面生成的密钥访问dict
时,结果为undefined
:
如何正确访问该值?
var dict = {
"red": "yes",
"blue": "no"
};
$("#trigger").click(function(){
alert(dict[$(this).text()]);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="trigger">
blue
</div>
&#13;
答案 0 :(得分:2)
文本中有空格。使用trim()
删除它们
var dict = {
"red": "yes",
"blue": "no"
};
$("#trigger").click(function() {
alert(dict[$(this).text().trim()]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="trigger">
blue
</div>
&#13;
答案 1 :(得分:0)
由于有额外的空格,请使用trim()
来处理
var dict = {
"red": "yes",
"blue": "no"
};
$("#trigger").click(function(){
alert(dict[$(this).text().trim()]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="trigger">
blue
</div>
&#13;
答案 2 :(得分:0)
trim()
一起使用。它会减少空间
var dict = {
"red": "yes",
"blue": "no"
};
$("#trigger").click(function() {
console.log(dict[$(this).text().trim()])
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="trigger">blue</div>
&#13;