DOM apstrādes callback funkcijas nodošana JavaScript
Pieņemsim, ka mums ir noteikta DOM elementu grupa:
<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:
forEach('.elem', function() {
// funkcija tiks piemērota katram elementam
});
Lai elementi, kas iekļaujas selektorā, pēc kārtas nonāk callback funkcijas pirmajā parametrā:
forEach('.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ā:
forEach('.elem', function(elem) {
elem.textContent = elem.textContent ** 2;
});
Tagad uzrakstīsim mūsu iecerētās funkcijas
forEach realizāciju:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
Doti rindkopas. Izmantojot mūsu izveidoto funkciju forEach, katrai rindkopai beigās pievienojiet tās tekstam izsaukuma zīmi.