"键“;jQuery中的对象无法正常工作

"Key" object in jQuery does not work correctly

本文关键字:常工作 工作 对象 quot jQuery      更新时间:2024-06-04

所以我一直在努力让这一小段代码发挥作用。然而,我不确定这是我的语法,还是我做得不对。该代码的目标是让用户输入一个类似"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迭代器]将始终提供该属性的值。