DOM apstrādes callback funkcijas nodošana JavaScript

Pieņemsim, ka mums ir noteikta DOM elementu grupa:

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>

Izveidosim funkciju forEach, kas pirmo parametru pieņems kā elementu grupas selektoru, bet otro parametru kā callback funkciju, kas tiks piemērota pēc kārtas katram no atrastajiem elementiem:

javascriptforEach('.elem', function() {
  // funkcija tiks piemērota katram elementam
});

Lai elementi, kas iekļaujas selektorā, pēc kārtas nonāk callback funkcijas pirmajā parametrā:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // izvadīs pēc kārtas atrastos elementus
});

Izmantojot mūsu funkciju, atradīsim visus elementus ar klasi elem un katram atrastajam elementam piemērosim callback, kas katra elementa tekstu pacels kvadrātā:

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

Tagad uzrakstīsim mūsu iecerētās funkcijas forEach realizāciju:

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

Doti rindkopas. Izmantojot mūsu izveidoto funkciju forEach, katrai rindkopai beigās pievienojiet tās tekstam izsaukuma zīmi.