2009-10-22 3 views
6

Mit Prototype JS-Bibliothek, möchte ich alle untergeordneten Verbindungselemente wählen (A Tags) unabhängig davon, ob ihre Eltern sind: H1, H2, H3, H4 oder H5 (usw.) mit einer einfachen CSS-Selektor-Regel (im Gegensatz zu weiteren JS, wie Schleifen usw.).CSS-Selektoren in Javascript mit allen H-Tags

So ist der einfache, aber langer Weg, dies zu tun ist:

$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a') 

Ich glaube, ich bin für eine Wild-Card-Eigenschaft suchen, wie h *, das nicht existiert.

Vielleicht ist das obige Beispiel der Weg zu gehen, aber ich hoffe, es gibt eine einfachere, prägnantere und effizientere Möglichkeit, dies zu tun.

Tipps geschätzt.

+0

Was ist mit


? –

+4

Ich denke, das ist der Weg zu gehen, da es nicht unendlich viele Überschrift-Tags gibt, nur 5 –

Antwort

4

Per Fabien Ménager Kommentar auf die ursprüngliche Frage, es sieht aus wie es keine einfache CSS-Selektor ist, kann ich andere verwenden als das, was ich schon habe.

$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a') 

Zwar gibt es andere Möglichkeiten, wenn ich darüber sein programmatischen wollen, oder leer JQuery (was für mich keine Option ist) ich speziell für eine CSS-Regel suchen werde.

Vielen Dank an alle, die versucht haben zu helfen.

2

http://docs.jquery.com/Selectors/header sagt:

: header Spiele alle Elemente, die Header sind, wie h1, h2, h3 und so weiter.

Fügt allen Überschriften auf der Seite eine Hintergrund- und Textfarbe hinzu.

$(":header").css({ background:'#CCC', color:'blue' }); 
+3

Sie haben den Teil verfehlt, wo das OP fragt "Verwenden von Prototyp JS-Bibliothek ...". –

3

jQuery verwenden:

$(":header a") 
1

bekam eine Antwort auf die Prototyp-Entwickler. Diese sind am besten und nur Lösungen, denn jetzt zumindest:

$$('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a') 
$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a') 

jedoch die nächste Version von Prototype lassen Sie eine Selektor-Engine auswählen und auf Sizzle ausfällt. Der :header Pseudo-Selektor ist tatsächlich ein Teil von Sizzle und wird in zukünftigen Versionen des Prototyps verfügbar sein (solange Sie Sizzle als Ihre Selektor-Engine wählen). Ich nehme an, dass es zuvor nicht enthalten war, da es nicht Teil einer Spezifikation ist.

Verwandte Themen