Перадача коллбэка для работы з 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;
});
Давайце цяпер напiшам рэалізацыю задуманай
намі функцыі forEach:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
Даныя абзацы. З дапамогай створанай намі функцыі forEach для кожнага абзаца дадайце ў канец яго тэксту клічнік.