DOM ilə işləmək üçün JavaScript-də callback funksiyasının ötürülməsi

Tutaq ki, bizim müəyyən bir DOM elementlər qrupumuz var:

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>

Gəlin forEach funksiyasını edək ki, birinci parametr kimi elementlər qrupunun selektorunu, ikinci parametr kimi isə callback funksiyasını qəbul etsin, hansı ki, tapılan elementlərin hər birinə növbə ilə tətbiq olunacaq:

javascriptforEach('.elem', function() {
  // funksiya hər elementə tətbiq olunacaq
});

Qoy selektor altına düşən elementlər, növbə ilə callback-in birinci parametrinə düşsün:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // tapılan elementləri növbə ilə çıxardacaq
});

Gəlin yaratdığımız funksiya vasitəsilə elem sinfi olan bütün elementləri tapaq və hər tapılmış element üçün callback tətbiq edək ki, hər elementin mətnini kvadrata yüksəltsin:

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

Gəlin indi nəzərdə tutduğumuz forEach funksiyasının realizasiyasını yazaq:

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

Abzaslar verilib. Yarattığımız forEach funksiyası vasitəsilə hər abzasın mətninə sonunda nida işarəsi əlavə edin.