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 функциямызды қолданып, әр абзацтың соңына оның мәтініне леп белгісін қосыңыз.