我有几个标记:
<span class="first" data-id="1" />
<span class="second" data-id="4" />
<span class="second" data-id="2" />
<span class="third" data-id="5" />
对它们进行的AND操作:
const spans = document.querySelectorAll('span');
const list = [];
spans.forEach(function(span) {
if (typeof list[span.getAttribute('class')] === 'undefined') {
list[span.getAttribute('class')] = [];
}
list[span.getAttribute('class')].push(span.getAttribute('data-id'));
});
console.log(list);
console.log(JSON.stringify(list));
但是 JSON.stringify 返回空数组。
最简单的方式是如何统计给定 SPAN 中 data-id 的出现次数,然后将其转换为字符串?我想将这些数据发送到 API。
Fiddle: https://jsfiddle.net/x7thc59v/
const list = {}
,JSON.stringify 将返回空数组,对于任何非数字索引。而且你可以使用const obj = {}
代替 list,因为你不想要列表,你想要对象。 - jcubic