2014-04-07 11 views
12

Die folgende Anweisung gibt mir das erste Element mit der Klasse titanicWie bekomme ich die zweite Übereinstimmung mit QuerySelector?

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

Wie würde ich das zweite Element mit der gleichen Klasse abrufen?

+0

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

+1

'querySelectorAll' gibt eine Sammlung statt eines einzelnen Elements. Die Ergebnisse werden in der Dokumentenreihenfolge zurückgegeben, die als Tiefenreihenfolge definiert ist. –

Antwort

19

Verwenden document.querySelectorAll

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

Das würde funktionieren. Aber ich würde nicht in der Lage sein, seine Werte direkt zu ändern, lies sie einfach. Da es sich um eine statische Nodeliste anstelle einer Live-Nodeliste handelt. Außerdem benötigen statische Knotenlisten mehr Zeit als Live-Knotenlisten. Gibt es eine Alternative? –

+0

@NickySmits Sie können weiterhin Änderungen an den gefundenen Elementen vornehmen. Eine statische Knotenliste bedeutet nur, dass sie sich nicht ändert, wenn das Dokument geändert wird (Elemente hinzugefügt/entfernt) – Phil

+0

Ich habe es versucht. Aber ich war nicht in der Lage, die innere HTML mit dem statischen Knoten zu ändern, während es mit einem Live-Knoten möglich war. –