2009-10-22 13 views
6

utilizzando la libreria Prototype JS, voglio selezionare tutti gli elementi di collegamento bambino (A tag) indipendentemente dal fatto che il loro genitore è: H1, H2, H3, H4 o H5 (ecc.) Con una semplice regola selettore CSS (a differenza di JS, come il ciclo ecc.).selettori CSS in JavaScript, con tutti i tag H

Quindi il modo semplice, ma a lungo, per fare questo è:

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

Credo di essere alla ricerca di una proprietà wild-card, come h *, che non esiste.

Forse l'esempio sopra è la strada da percorrere, ma spero che esista un modo più semplice, più conciso ed efficiente per farlo.

Suggerimenti apprezzati.

+0

Che dire di


? –

+4

Penso che questa sia la strada da percorrere, in quanto non esiste un numero infinito di tag di titolo, solo 5 –

risposta

4

Come da Fabien Ménager commento alla domanda iniziale, sembra che non c'è un selettore CSS semplice posso usare altro che quello che ho già.

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

Mentre ci sono altre opzioni se voglio essere programmatico su di esso, o vuoto JQuery (che non è un'opzione per me) Sono in particolare alla ricerca di una regola CSS.

Grazie a tutti coloro che hanno cercato di aiutare.

2

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

: intestazione seleziona tutti gli elementi che sono le intestazioni, come H1, H2, H3 e così via.

Aggiunge uno sfondo e il colore del testo a tutte le intestazioni sulla pagina.

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

Hai perso la parte in cui l'OP chiede "Usando la libreria JS di Prototype ...". –

3

utilizzando jQuery:

$(":header a") 
1

ha ottenuto una risposta a questo dagli sviluppatori di prototipi. queste sono le soluzioni migliori e più solo, almeno per ora:

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

Tuttavia, la prossima release di Prototype vi permetterà di scegliere un motore di selezione e imposterà Sizzle. Lo pseudo-selettore :header è in realtà parte di Sizzle, quindi sarà disponibile nelle versioni future del prototipo (a condizione che tu scelga sfrigolare come motore di selezione). Immagino che non sia stato precedentemente incluso in quanto non fa parte di alcuna specifica.

Problemi correlati