Overføring av callback for å jobbe med DOM på JavaScript

La oss si at vi har en gruppe DOM-elementer:

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>

La oss lage en funksjon forEach som vil ta en selektor for en gruppe elementer som første parameter, og en callback-funksjon som andre parameter, som vil bli brukt på hvert av de funnet elementene etter tur:

javascriptforEach('.elem', function() {
  // funksjonen vil bli brukt på hvert element
});

La elementene som matcher selektoren, komme inn i den første parameteren til callbacken etter tur:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // vil skrive ut de funnet elementene etter tur
});

La oss ved hjelp av vår funksjon finne alle elementene med klassen elem og for hvert funnet element bruke en callback, som vil kvadrere teksten til hvert element:

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

La oss nå skrive implementasjonen av funksjonen forEach som vi har tenkt oss:

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

Det er gitt avsnitt. Bruk funksjonen forEach som vi har laget for å legge til et utropstegn på slutten av teksten til hvert avsnitt.