"键“;jQuery中的对象无法正常工作
"Key" object in jQuery does not work correctly
所以我一直在努力让这一小段代码发挥作用。然而,我不确定这是我的语法,还是我做得不对。该代码的目标是让用户输入一个类似"H2" or "Li"
的字符串,并在div"testing"中返回与该字符串相关的数字。当我运行该代码时,它不会返回任何内容。
<form>
<input type="text" name="atomNameOne"/>
</form>
<button name="moleRatios">Submit!</button>
<br/>
<br/>
<br/>
<div id="testing"></div>
这是与我的代码关联的jQuery
代码。
$('button[name=moleRatios]').click(function(){
var compound = {
H2 = 2.01594,
Li = 6.939,
Be = 9.0122,
B = 10.811
}
var search = function(name) {
for(var key in compound) {
if(compound[key] === name) {
return compound[key];
}
}
};
var $atomValueOne = search($('input[name=atomNameOne]').val());
$('#testing').text($atomValueOne);
});
这里有一个错误的语法:
var compound = {
H2 = 2.01594,
Li = 6.939,
Be = 9.0122,
B = 10.811
}
应该是
var compound = {
H2: 2.01594,
Li: 6.939,
Be: 9.0122,
B: 10.811
}
然后
如果密钥是H2,则复合[key]将返回2.01594,也许您想要
if(compound[key] === name)
成为
if(key == name)
相反其余的应该是相同的
替换
if(compound[key] === name)
带有
if(key === name)
并按照其他答案
定义对象的正确方法是
var compound = { H2: 2.01594, Li : 6.939, Be: 9.0122, B : 10.811 }
作为属性名称:属性值格式
要以字符串形式访问propertyName,请使用-
var search = function(name) {
for(var key in compound) {
if(key === name) {
return compound[key];
}
}
};
其中迭代器'key'将始终提供属性的名称(作为字符串),并且格式objectName[i迭代器]将始终提供该属性的值。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作