Перадача коллбэка для работы з DOM на JavaScript

Няхай у нас ёсць некаторая група DOM элементаў:

html<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, якая першым параметрам будзе прымаць селектар групы элементаў, а другім параметрам - функцыю-коллбэк, якая будзе ўжытая па чарзе да кожнага з знойдзеных элементаў:

javascriptforEach('.elem', function() {
  // функцыя будзе ўжытая да кожнага элемента
});

Няхай элементы, якія трапілі пад селектар, па чарзе трапляюць у першы параметр коллбэка:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // вывядзе па чарзе знойдзеныя элементы
});

Давайце з дапамогай нашай функцыі знойдзем усе элементы з класам elem і для кожнага знойдзенага элемента ўжыем коллбэк, які возведзе ў квадрат тэкст кожнага элемента:

javascriptforEach('.elem', function(elem) {
  elem.textContent = elem.textContent ** 2;
});

Давайце цяпер напiшам рэалізацыю задуманай намі функцыі forEach:

javascriptfunction forEach(selector, func) {
  let elems = document.querySelectorAll(selector);
  
  for (let elem of elems) {
    func(elem);
  }
}
Задание 1

Даныя абзацы. З дапамогай створанай намі функцыі forEach для кожнага абзаца дадайце ў канец яго тэксту клічнік.