DOM-თან მუშაობის კოლბექის გადაცემა JavaScript-ზე
დავუშვათ, გვაქვს DOM ელემენტების გარკვეული ჯგუფი:
<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>
შევქმნათ ფუნქცია forEach, რომელიც
პირველ პარამეტრად მიიღებს ელემენტების ჯგუფის
სელექტორს, ხოლო მეორე პარამეტრად - ფუნქცია-კოლბექს,
რომელიც თანმიმდევრობით გამოყენებული იქნება ყოველ
ნაპოვნ ელემენტზე:
forEach('.elem', function() {
// ფუნქცია გამოყენებული იქნება ყოველ ელემენტზე
});
დავუშვათ, სელექტორის ქვეშ მოხვედრილი ელემენტები თანმიმდევრობით მოხვდებიან კოლბექის პირველ პარამეტრში:
forEach('.elem', function(elem) {
console.log(elem); // გამოიტანს თანმიმდევრობით ნაპოვნ ელემენტებს
});
ჩვენი ფუნქციის დახმარებით ვიპოვოთ ყველა
ელემენტი elem კლასით და ყოველ
ნაპოვნ ელემენტზე გამოვიყენოთ კოლბექი, რომელიც
აყვანს კვადრატში თითოეული ელემენტის ტექსტს:
forEach('.elem', function(elem) {
elem.textContent = elem.textContent ** 2;
});
ახლა დავწეროთ ჩვენი დაგეგმილი ფუნქციის forEach
რეალიზაცია:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
მოცემულია აბზაცები. ჩვენი შექმნილი ფუნქციის forEach დახმარებით ყოველ აბზაცს დაუმატეთ მისი ტექსტის ბოლოში ძახილის ნიშანი.