Menghantar Callback untuk Bekerja dengan DOM dalam JavaScript

Katakan kita mempunyai sekumpulan elemen DOM:

html<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>

Mari kita buat fungsi forEach yang akan menerima pemilih (selector) untuk kumpulan elemen sebagai parameter pertama, dan parameter kedua - fungsi callback, yang akan digunakan secara bergilir-gilir pada setiap elemen yang ditemui:

javascriptforEach('.elem', function() {
  // fungsi akan digunakan pada setiap elemen
});

Katakan elemen yang sepadan dengan pemilih itu masuk satu persatu ke dalam parameter pertama callback:

javascriptforEach('.elem', function(elem) {
  console.log(elem); // akan memaparkan elemen yang ditemui satu persatu
});

Sekarang, dengan menggunakan fungsi kita, mari cari semua elemen dengan kelas elem dan untuk setiap elemen yang ditemui, gunakan callback yang akan memangkatkan kuasa dua teks setiap elemen:

javascriptforEach('.elem', function(elem) {
  elem.textContent = elem.textContent ** 2;
});

Sekarang mari kita tulis pelaksanaan fungsi forEach yang kita rancang:

javascriptfunction forEach(selector, func) {
  let elems = document.querySelectorAll(selector);
  
  for (let elem of elems) {
    func(elem);
  }
}
Задание 1

Diberi beberapa perenggan. Dengan menggunakan fungsi forEach yang kita buat, tambahkan tanda seru pada akhir teks setiap perenggan.