venerdì 16 settembre 2011

jQuery - I filtri

Oltre ai selettori già visti jQuery mette a disposizione altri strumenti per migliorare e semplificare le operazione di ricerca degli elementi su cui operare; questi elementi sono detti filtri e possiamo in base all'oggetto del filtraggio:

Filtri tramite parole chiave e contenuti
Le parole chiave che possiamo utilizzare sono:
  • odd o even per selezionare gli elementi pari o dispari
  • first o last per lesezionare il primo o l'ultimo elemento
  • lt(n), gt(n) o eq(n) se si volgiono selezionare tutti gli elementi rispettivamente presecenti successivi o uguali all'ennesimo (n) elemento.
  • first-child o last-child seleziona il primo o l'ultimo figlio di un elemento
  • only-child seleziona gli elementi singoli
  • nth-child seleziona elementi figli in base al contenuto tra parentesi
  • not() seleziona elementi in base all'assenza di contenuti 
  • has(), contain(), hidden seleziona elementi in base a contenuti o attributi
Ogni parola chiave deve essere preceduta dal tag di riferimento e dal carattere ":"
// Seleziono l'ultima riga della tabella
$("tr:last"); 

// seleziona i figli dispari degli elementi "li" 
// contenuti nell'elemento "ul" con id "navglob"
$("ul#navglob li:nth-child(odd)");

// seleziono tutti gli elementi "li" che contengono 
// un link all'interno del'elemento con id "elenco"
$("#elenco li:has(a)");

// selezioni tutti i div nascosti
$("div:hidden");

// seleziono tutti i div che non appartengono alla 
// classe "commento"
$("div:not(.commento)"); 

Filtri tramite attributi
La selezione degli elementi viene basata sul valore degli attributi:
// seleziono gli elementi "a" con title "icona"
$("a[title='icona']");

// seleziono gli elementi "a" con title che inizia 
// con "icona"
$("a[title^='icona']"); 

// seleziono gli elementi "a" con title che 
// finisce con "icona"
$("a[title$='icona']"); 

// seleziono i link che non aprono nuove finestre
$("a[target!='_self']"); 

// seleziono i link che hanno un attributo "target" 
// impostato
$("a[target]"); 

// seleziono i link con title "icona" e contemporaneamente 
// con target "_blank" (selettori concatenati)
$("a[title='icona'][target='_blank']"); 

Filtri per elementi form
// seleziono tutti gli elementi password del form
$("input[type='password']"); 

// seleziono tutti gli elementi password del form
$(":password") 

Nessun commento:

Posta un commento