DOM-iga töötamiseks callbacki edastamine JavaScriptis
Oletame, et meil on mõni DOM-elementide rühm:
<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>
Loome funktsiooni forEach, mis
võtab esimese parameetrina
elementide rühma valija ja teise parameetrina - callback-funktsiooni,
mida rakendatakse kõikidele leitud elementidele järjekorras:
forEach('.elem', function() {
// funktsiooni rakendatakse igale elemendile
});
Oletame, et valijale vastavad elemendid lähevad järjekorras callbacki esimesse parameetrisse:
forEach('.elem', function(elem) {
console.log(elem); // kuvab leitud elemendid järjekorras
});
Kasutame oma funktsiooni kõigi elementide leidmiseks
klassiga elem ja iga
leitud elemendi jaoks rakendame callbacki, mis
tõstab iga elemendi teksti ruutu:
forEach('.elem', function(elem) {
elem.textContent = elem.textContent ** 2;
});
Kirjutame nüüd meie kavandatud
funktsiooni forEach rakenduse:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
Antud on lõigud. Kasutades meie loodud funktsiooni forEach, lisage iga lõigu lõppu selle teksti hüüumärk.