| I selettori |
|
|
|
Come elencato nell'introduzione uno dei punti di forza di jQuery è il potente motore di selezione. Questo motore di selezione si chiama Sizzle ed è diventato un progetto, open source, standalone rispetto a jQuery. La potenza e la rilevanza del motore di selezione all'interno di jQuery è notevole in quanto è grazie a questo che possiamo selezionare gli elementi all'interno del documento e quindi applicare metodi jQuery (e non solo) ad un determinato elemento piuttosto che ad un altro. La sintassi che quindi adottano questi selettori è la stessa dei più conosciuti selettori per CSS. Passiamo quindi ad analizzare più a fondo questi selettori dividendoli in 2 categorie: selettori di base e selettori gerarchici. Selettori di baseQuesti selettori sono i selettori semplici, ovvero quelli che permettono di selezionare un elemento in base al tag, all'id o alla classe.Ecco alcuni esempi di selettori di base:
Ovviamente è possibile anche effettuare delle combinazioni di questi, infatti se si vogliono, per esempio, solo i link () con classe "class1", basta scrivere:
Si possono anche indicare più selettori contemporaneamente, come del resto è possibile per i selettori CSS e la sintassi sarà quindi:
Un ultimo selettore semplice da far notare è quello che permette di selezionare tutti gli elementi del documento:
Selettori GerarchiciQuesti selettori servono per cercare elementi all'interno di altri elementi, piuttosto che all'interno di tutto il documento. Ci sono vari selettori di questo genere come quello padre/figlio, precedente/seguente e precedente/adiacente. Il primo tipo permette di selezionare gli elementi interni ad un tag selezionato (relazione padre/figlio) o anche di selezionare gli elementi direttamente discendenti da quel tag.
$("#menu_ul li"); //seleziona tutti gli elementi lista all'interno dell'elemento con id = menu_ul
La differenza sostanziale tra i due sta nel fatto che nel secondo esempio non vengono selezionati ulteriori annidamenti, che invece nel primo caso vengono presi in considerazione. Passiamo ora a spiegare il selettore precedente/seguente. Questo selettore permette di selezionare gli elementi che sono preceduti direttamente da uno specifico elemento (relazione precedente/seguente). La sintassi corretta è la seguente: precedente + seguente. Ecco un esempio:
$("h1 + h2"); //tutti i tag h2 preceduti da un tag h1L'ultimo selettore che introdurremo sarà quello che soddisfa la relazione precedente/adiacente. Questo selettore seleziona direttamente adiacenti, ovvero quelli sullo stesso livello gerarchico. La sintassi per effettuare tale selezione è la seguente: precedente ~ adiacente.$("#id_tag ~ div"); //seleziona tutti i div adiacenti al tag con id = id_tagSelettori per parole chiaveEsisto parole chiave che permettono di filtrare meglio gli elementi da selezionare. Ecco un elenco delle parole che si possono utilizzare:
$("tr:last"); //seleziona l'ultima riga della tabella (se ve ne è una sola !!!)Queste keyword sono molto utili e permettono di selezionare in modo molto più rapido ed efficiente quello che si sta ricercando. Si pensi, riprendendo l'esempio precedente, se si vuole applicare una classe alla sola ultima riga della tabella, basta fare: $("tr:last").addClass("classe_footer"); //applica la classe classe_footer all'ultima riga della tabellaQuesta ultima parte di selettori sarà meglio affrontata nell'articolo riguardante i filtri sulle selezioni.Con questo concludiamo la nostra spiegazione sui selettori e rimandiamo per ulteriori informazioni a Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. .
|

