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 ֆունկցիայի օգնությամբ յուրաքանչյուր պարբերության վերջում ավելացրեք նրա տեքստին բացականչական նշան: