getElementsByClassName() dla więcej niż jednej klasy

getElementsByClassName() dla więcej niż jednej klasy
spertus07
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 77
0

Cześć,
Mam problem:

Kopiuj
<p class="pass">Test</p>
<p class="almost-pass">Test2</p>
Kopiuj
var pass = document.getElementsByClassName("pass");

Mam sobie taki kod, tyle, że do zmiennej pass oprocz elementow klasy "pass" chcialbym rowniez dodac elementy klasy "almost-pass" i pytanie jak to najprosciej zrobic?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
<p class="pass" name="all-pass">Test</p>
<p class="almost-pass" name="all-pass">Test2</p>
Kopiuj
var pass = document.getElementsByName("all-pass");
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
var pass = document.getElementsByClassName("pass").concat(document.getElementsByClassName("almost-pass"));
  • Rejestracja: dni
  • Ostatnio: dni
1

Operacje get na document w javascript zwracają HTMLNodeList, nie Array, dlatego też pierwsze rozwiązanie z concat nie działało. Możesz łatwo przekonwertować NodeList do Array:

Kopiuj
var array = [].slice.call(twójArray)
R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
0

trzy propozycje https://jsfiddle.net/qbmcsfmz/

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

A próbowałeś document.querySelectorAll('.a, .b')?

kiteboarder
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
0
winerfresh napisał(a):

A próbowałeś document.querySelectorAll('.a, .b')?

dokładnie, spróbuj z selektorem. innerHTML nie jest zalecany, choć łatwo i szybko się tego używa

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.