Прослеђивање колбек функције за рад са DOM-ом у JavaScript-у
Нека имамо одређену групу DOM елемената:
<p class="elem">1</p>
<p class="elem">2</p>
<p class="elem">3</p>
<p class="elem">4</p>
<p class="elem">5</p>
Направимо функцију forEach која
ће као први параметар примати селектор
групе елемената, а као други параметар - функцију-колбек,
која ће се применити једна по једна на сваки од
пронађених елемената:
forEach('.elem', function() {
// функција ће се применити на сваки елемент
});
Нека елементи који одговарају селектору, редом улазе у први параметар колбек функције:
forEach('.elem', function(elem) {
console.log(elem); // исписаће редом пронађене елементе
});
Хајде да помоћу наше функције пронађемо све
елементе са класом elem и за сваки
пронађени елемент применимо колбек, који
ће квадрирати текст сваког елемента:
forEach('.elem', function(elem) {
elem.textContent = elem.textContent ** 2;
});
Хајде сада да напишемо имплементацију функције
forEach коју смо замислили:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
Дати су пасуси. Помоћу креиране наше функције forEach за сваки пасус додајте на крај његовог текста узвичник.