Додани callback барои кор бо 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 созем, ки параметри якум он селектори гурӯҳи элементҳо, ва параметри дуюм - функсияи callback-ро қабул мекунад, ки ба ҳар як аз элементҳои ёфташуда баробар татбиқ карда мешавад:

javascriptforEach('.elem', function() {
  // функсия ба ҳар як элемент татбиқ карда мешавад
});

Бигзор элементҳое, ки дар зери селектор қарор гирифтанд, дар параметри якуми callback бо тартиб ворид шаванд:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // элементҳои ёфташударо бо тартиб чоп мекунад
});

Биёед бо ёрии функсияи мо ҳамаи элементҳои бо синфи elem-ро ёбем ва барои ҳар як элементи ёфташуда callback-ро татбиқ кунем, ки мати ҳар як элементро ба квадрат мебарад:

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

Акнун биёед таҳияи функсияи задукардаи мо forEach-ро нависем:

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

Параграфҳо дода шудаанд. Бо ёрии функсияи forEach, ки мо сохтем, барои ҳар як параграф аломати тааҷҷубро ба охири матнаш илова кунед.