2009-10-22 11 views
6

wykorzystaniem biblioteki Prototype JS, chcę, aby zaznaczyć wszystkie elementy łączące dziecko (A tags), niezależnie od tego, czy ich rodzic jest: H1, H2, H3, H4 lub H5 (itp.) Z prostą (w przeciwieństwie do innych JS, jak np. Zapętlanie itp.) Z prostą .CSS selektory w JavaScript z wszystkich tagów H

więc prosta, ale długa droga, aby to zrobić:

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

Chyba szukam nieruchomości dzikich kart, jak h *, który nie istnieje.

Być może powyższy przykład jest do zrobienia, ale mam nadzieję, że istnieje prostszy, bardziej zwięzły i skuteczny sposób, aby to zrobić.

Porady doceniane.

+0

Co z


? –

+4

Myślę, że to jest droga, ponieważ nie ma nieskończonej liczby znaczników nagłówka, tylko 5 –

Odpowiedz

4

Zgodnie Fabien Menager komentarza do pierwotnego pytania, wygląda na to, że nie jest to prosty selektor CSS można użyć innego niż to, co już masz.

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

Chociaż istnieją inne opcje, jeśli chcę być programowy o tym, czy pusty JQuery (co nie jest rozwiązaniem dla mnie) Ja specjalnie szuka reguły CSS.

Dziękuję wszystkim, którzy próbowali pomóc.

2

http://docs.jquery.com/Selectors/header mówi:

: Header dopasowuje wszystkie elementy, które są, jak nagłówki H1, H2, H3 i tak dalej.

Dodaje tło i kolor tekstu do wszystkich nagłówków na stronie.

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

Tęskniłeś za tą częścią, w której PO prosi "Używanie biblioteki Prototype JS ...". –

3

jQuery:

$(":header a") 
1

uzyskałem odpowiedź na to pytanie od prototypowych programistów. Są to najlepsze i tylko rozwiązania, przynajmniej na razie:

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

Jednak następne wydanie Prototype pozwoli Ci wybrać silnik wybieraka i będzie domyślnie Sizzle. Pseudo-selektor :header jest w rzeczywistości częścią Sizzle, więc będzie dostępny w przyszłych wersjach prototypu (o ile wybierzesz skwierczenie jako silnik selektora). Sądzę, że nie był wcześniej uwzględniony, ponieważ nie jest częścią żadnej specyfikacji.