JavaScript'те DOM менен иштөө үчүн коллбэк өткөрүү
Бизде белгилүү бир 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 функциябыздын жардамы менен ар бир абзацтын текстинин аягына үн белгисин (!) кошуңуз.