2014-04-07 10 views
12

Poniższe zestawienie daje mi pierwszy element z klasą TitanicJak uzyskać drugi mecz z QuerySelector?

element = document.querySelector('.titanic'); 

Jak odzyskać drugi element z tej samej klasy?

+0

https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll – Phil

+1

'querySelectorAll' zwraca kolekcję zamiast pojedynczego elementu. Wyniki są zwracane w porządku dokumentu, który jest zdefiniowany jako pierwsze zamówienie. –

Odpowiedz

19

Zastosowanie document.querySelectorAll

document.querySelectorAll('.titanic')[1] 
+0

To by działało. Ale nie zmusiłbym mnie do bezpośredniej zmiany wartości, wystarczy je przeczytać. Ponieważ jest to statyczna nodelistka, a nie żywa nodelistka. Ponadto, statyczne węzły nodeList potrzebują więcej czasu na wyprodukowanie niż na żywo. Czy istnieje alternatywa? –

+0

@NickySmits Nadal możesz wprowadzać zmiany do znalezionych elementów. Lista statycznych węzłów oznacza, że ​​nie zmienia się po zmianie dokumentu (elementy dodane/usunięte) – Phil

+0

Próbowałem. Ale nie byłem w stanie zmienić innerHTML z węzłem statycznym, podczas gdy było to możliwe z węzłem na żywo. –