Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [JavaScript]wywoływanie tej samej funkcji z różnymi zmiennymi - uproszczenie zapisu

Napisany przez: stellatus 26.04.2020, 21:30:47

Kod
function removeIcons(x) {
  x.forEach(function (element) {
  element.remove()
  })
}

removeIcons(document.querySelectorAll(".film-icon"))
removeIcons(document.querySelectorAll(".music-icon"))
removeIcons(document.querySelectorAll(".book-icon"))
removeIcons(document.querySelectorAll(".software-icon"))
removeIcons(document.querySelectorAll(".smile-icon"))
removeIcons(document.querySelectorAll(".article-icon"))


Da się to zapisać prościej? Nazwa wywoływanej wielokrotnie funkcji nie musi się chyba powtarzać, prawda?

Napisany przez: trueblue 27.04.2020, 06:15:22

Powinieneś częściej zaglądać do manuala zanim napiszesz post.
Tym razem nie podam Ci linku, bo sam znajdziesz w Google.

Napisany przez: stellatus 28.04.2020, 11:25:20

Myślę, że to jest dobre rozwiązanie:

Kod
function removeIcons() {
  document.querySelectorAll(".film-icon, .music-icon, .book-icon, .software-icon, .smile-icon, .article-icon").forEach(function (element) {
  element.remove()
  })
}
removeIcons()


Manual jest jeszcze dla mnie trochę przytłaczający. Na razie nie jest mi łatwo znaleźć w nim potrzebne informacje. Za to w większości przypadków udaje mi się to w w3schools. Przejrzałem: https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Functions, wpisywałem w Google różne frazy w różnych kombinacjach, np.: "calling the same function", "code simplification", itd. ale nie udało mi się nic znaleźć. To nie była dobra droga. Okazało się, że wystarczyło użyć wiedzy, którą już miałem, ale trudno było mi na to szybko wpaść samemu.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)