首页 > 解决方案 > 在for循环中获取每个div id

问题描述

在基于 div 计数的 for 循环中,我需要选择每个 div 子项,以便获取 div 的 id。

这是我尝试过的:

var json = [{
  'orderId': order,
  'attributes': [],
  'services': []
}];
var divLength = $('#stepchild div').length;
for (i = 0; i < divLength; i++) {
  var fields = {};
  $('#divID input').each(function() {
    fields[this.name] = $(this).val();
  })
  $('#divID select').each(function() {
    fields[this.name] = $(this).val();
  })
  json[0]['attributes'].push(fields);
}
<div id="form0">
  <input type="text" class="field1">
</div>
<div id="form1">
  <input type="text" class="field1">
</div>
<div id="form2">
  <input type="text" class="field1">
</div>

标签: javascriptjqueryhtml

解决方案


免责声明:我知道问题是关于 jquery,但我想提供非 jQuery 版本:

如果您只想要列表中的 ID,则可以使用:

[...document.querySelectorAll('div')].map(div => div.id)

或者,如果您需要遍历它们并为它们做一些处理,您可以使用这个:

[...document.querySelectorAll('div')].forEach(div => {
    // process the div element here with div.id beeing the ID
});

推荐阅读