Пусть у нас есть некоторая группа 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.innerHTML = elem.innerHTML ** 2;
});
Давайте теперь напишем реализацию задуманной
нами функции forEach
:
function forEach(selector, func) {
let elems = document.querySelectorAll(selector);
for (let elem of elems) {
func(elem);
}
}
Даны абзацы. С помощью созданной нами функции forEach для каждого абзаца добавьте в конец его текста восклицательный знак.