javascript - 使用来自元素 id 属性的名称创建对象

标签 javascript

我正在尝试创建一些对象,它们的名称是具有 class="characteristic" 的 div 的 id 属性。我如何获取名称的 ID?

window.onload = function() {
    var characteristicElements = document.getElementsByClassName("characteristic");
    for ( var i = 0 ; i < characteristicElements.length ; i++ ) {
        var characteristicElements[i].getAttribute("id") = { set: false, val: 0, unn: 0 };
    }
};

最佳答案

然后您应该创建一个 map ,使用一个对象,并将 ID 作为属性名称:

var objects = {};

var characteristicElements = document.getElementsByClassName("characteristic");
for ( var i = 0 ; i < characteristicElements.length ; i++ ) {
    objects[characteristicElements[i].id] = {'set': false, val: 0, unn: 0 };
}

Afaik 你必须将 set 放在引号中,因为它是对象字面量中的关键字。我可能是错的。另请注意,getElementsByClassName 在 IE8 及之前的版本中不可用。

我推荐阅读 MDN JavaScript Guide - Working with Objects .

关于javascript - 使用来自元素 id 属性的名称创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943991/

相关文章:

javascript - 我可以在没有 WebView 的情况下运行 Javascript,还是可以在没有 Activity 上下文的情况下运行 WebView,例如在服务中?

javascript - Backbone.Marionette.ItemView 渲染后元素未准备好?

javascript - 使用 JavaScript 生成 RSA-SHA1 签名

javascript - 返回的 JSON 对象没有名称

javascript - Yii2:将变量从 Controller 传递给javascript

javascript - Reactjs 多次获取 - TypeError : Cannot read property 'last' of undefined

javascript - 如何使用两个日期的 getTime() 正确计算 JS 中的剩余时间?

javascript - 使用 redux 和 react 的异步服务器端渲染

javascript - 如何传递api ID和api Key作为HTTP请求的认证参数

javascript - 解构 MongoDB 聚合管道中的数组