如何使用 html 元素的属性动态创建 json 对象

How to create a json object dynamically using attributes of html elements

我想完全根据共享相同 class 的 HTML 元素的属性创建一个 JSON 对象,这样键就是数据属性,值就是 id .

我试过下面的代码:

$("#searchBtn").click(function() {
  var map = [];
  $(".searchTextField").each(function() {
    var fieldName = $(this).attr('data-field-name')
    map.push({
      $(this).attr('data-field-name'): $(this).val()
    })
    alert(map);
  });
})

我想要实现的是有一些像

{
  "id" : 1,
  "page" : 5
} 

但 id 和页面必须是动态的,即文本 id 取自 HTML 元素的贡品

$("#searchBtn").click(function () {
    var map = [];

    $(".searchTextField").each(function() {
        var element = {}; 

        element.id = $(this).data('field-name');
        element.page = $(this).val();

        map.push(element);
    });

    alert(map);
});
var dd = {};
dd.test = 5;

var dd = {};
dd['test'] = 5;