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 функцияси ёрдамида ҳар бир абзацнинг охирига унинг матнига ҳайқирқоқ белгисини қўшинг.