首页 > 解决方案 > 无法获取 HTML 元素的更新值

问题描述

我正在尝试将单击事件添加到按类查找 HTML 元素的按钮,然后将它们中的每一个添加到一个对象中,并将它们的 name 属性作为属性名称,将 value 属性作为值。

$(function(){
  $('#saveButton').click(function() {
    let data = {};

    for (elem of $('.className')) {
      data[elem.getAttribute('name')] = elem.getAttribute('value');
    }

   console.log(data);
  });
});

然而,这只会给我元素的初始值。如果我更改值(它们是输入字段)并且再次触发事件,它不会找到更新的值。更让我困惑的是,如果我console.log(data);在 的定义下移动data,即使在第一次触发事件时,对象也已经具有属性和值。我在这里做错了什么?

标签: javascriptjquery

解决方案


这是您要执行的操作的代码

 $('#saveButton').click(function() {
    var data = [];

$('.className').each(function(i, obj) {
    data[$(this).attr('name')] = $(this).val();
});

   console.log(data);
  });

推荐阅读