Я пытаюсь установить атрибут инкрементных данных для серии div с общим именем класса.
Например, у меня есть эти div:
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
<div class="field__item">Test</div>
И что я Я пытаюсь сделать что-то вроде этого:
<div class="field__item" data-foo="1">Test</div>
<div class="field__item" data-foo="2">Test</div>
<div class="field__item" data-foo="3">Test</div>
<div class="field__item" data-foo="4">Test</div>
<div class="field__item" data-foo="5">Test</div>
<div class="field__item" data-foo="6">Test</div>
<div class="field__item" data-foo="7">Test</div>
<div class="field__item" data-foo="8">Test</div>
Я делал что-то вроде этого:
const el = document.querySelector('.field__item');
let a = 1;
el.setAttribute('data-foo', (a++));
Но это только устанавливает первый div, и я не уверен как заставить его использовать что-то вроде forEach
, чтобы установить этот атрибут данных для всех них. Я пытался это:
const item = document.querySelectorAll(".field__item");
Array.prototype.forEach.call(item, function(elements, index) {
let a = 1;
item.setAttribute("data-foo", a++);
});
Но это ошибки с item.setAttribute is not a function.
Открыт для любых предложений.