Introduzione

In questo articolo ci concentreremo sui nuovi metodi nella versione 1.6 della libreria jQuery JavaScript, così come i cambiamenti ai metodi già esistenti. Le informazioni fornite sono solo un riassunto veloce, raccomando un salto sulla documentazione jQuery per ulteriori informazioni, quando si usa uno dei nuovi metodi.

Mi piacerebbe anche consigliare di imparare velocemente come funzionano e familiarizzare con loro in fretta: non passerà molto tempo prima jQuery 1.7 sia rilasciato.
Cambiamenti ai metodi già esistenti

jQuery è una libreria JavaScript attiva sviluppata con un ciclo di rilascio piuttosto rapido. Oltre a miglioramenti generali, modifiche delle prestazioni e correzioni di bug, nuovi metodi sono spesso aggiunti alla libreria.
In questo articolo daremo uno sguardo alle nuove metodologie che sono state aggiunte alla versione 1.6 + e alcuni dei miglioramenti.
Ritardare l'evento ready con il metodo holdReady()
Il metodo holdReady() viene utilizzato per ritardare il lancio dell’evento ready di jQuery, la pietra angolare che è comunemente usato per eseguire codice personalizzato una volta che il DOM è pronto per essere manipolato. Con jQuery 1.6 possiamo rimandare l’attivazione di questo evento per un periodo di tempo arbitrario in modo da attendere che le altre condizioni siano soddisfatte, come ad esempio il caricamento di un plugin.
Si tratta di un metodo a scopo duale e può essere utilizzato sia per ritardare l’evento che per rilasciare l’evento con la stessa firma. Il metodo accetta un argomento booleano che specifica se l’evento deve essere tenuto o rilasciato.
Uno svantaggio di questo metodo è che dovrebbe essere chiamato nel documento il più presto possibile, nel della pagina, e può ovviamente essere chiamato solo dopo che jQuery stesso sia stato caricato. Come sappiamo, per motivi di prestazioni, gli script di solito dovrebbero essere collocati il più vicino possibile alla fine del documento e spostare jQuery nello del documento deve essere considerato solo quando assolutamente necessario.
Utilizzando holdReady() è super facile; nelle prime fasi del caricamento del documento è possibile chiamare il metodo con il valore vero come argomento:
Copia codice

#
jQuery.holdReady(true);
#
Poi, una volta completato il caricamento del file aggiuntivo che desideriamo, chiamare di nuovo il metodo con il valore false:
Copia codice

#
jQuery.holdReady(true);
jQuery.getScript("myplugin.js", function() {
     jQuery.holdReady(false);
});
#
Aggiunta e rimozione di proprietà degli elementi
Il metodo prop() è un via per recuperare esplicitamente i valori delle proprietà degli elementi. C’è pero una sottile differenza tra le proprietà e gli attributi e questa differenza nel suo uso può causare occasionalmente dei problemi quando si cerca di ottenere o impostare i valori delle proprietà utilizzando i metodo jQuery attr().
L’esempio classico si verifica con gli elementi casella di controllo; a volte ci sono stati dei problemi quando si cerca di impostare dinamicamente la proprietà Checked utilizzando il metodo attr(). Da quando il metodo prop() è stato rilasciato, nella versione 1.6, il metodo attr() è stato, anche esso, modificato in modo che restituisca solo lo stato iniziale della proprietà, tuttavia questo è stato cambiato nella release 1.6.1 per far sì che restituisca anche lo stato attuale quando si usa il metodo attr(). Per utilizzare il metodo prop() si usa la stessa sintassi di quella usata con il metodo attr():
Copia codice

#
$("input[type='checkbox']").prop("checked");
#
Il metodo con questo formato restituisce il valore corrente. Per utilizzare il metodo in modalità setter dobbiamo solo fornire un secondo argomento specificando che cosa vorremmo che il valore debba essere.
Copia codice

#
$("input[type='checkbox']").prop('checked', true);
#
Può essere usato per ottenere il Valore calcolato tramite funzione di callback
Copia codice

#
$("input[type='checkbox']").prop('checked', function( i, val ) {
  return !val;
});
#
Il metodo prop() può anche essere usato per impostare le proprietà personalizzate sugli elementi, e si dovrebbe notare che il metodo restituisce solo il valore della proprietà per il primo elemento in una collezione e non ciascun elemento della collezione.
Per rimuovere le proprietà personalizzate, si può usare il nuovo metodo removeProp(), disponibile dalla versione jQuery 1.6. Questo metodo deve essere utilizzato solo per rimuovere le proprietà personalizzate; se le proprietà native vengono rimosse con questo metodo non sarà più possibile per loro essere nuovamente aggiunte. Le proprietà personalizzate dovrebbero sempre essere rimosse prima che gli elementi siano stati aggiunti per rimuoverlo dal DOM, al fine di prevenire perdite di memoria nelle vecchie versioni di IE.
Un nuovo selettore
Ora possiamo utilizzare lo pseudo-selettore :focus per selezionare un elemento focalizzato, o per determinare se un elemento ha il focus, una grande nuova aggiunta che potrebbe contribuire a salvare tempo nell’intorno del lavoro.
Metodi aggiornati
In aggiunta ai metodi di totalmente nuovi che abbiamo visto finora, alcuni degli attuali metodi di jQuery sono state modificate, tra cui:

  • attr() metodo che restituisce ora “undefined” durante il recupero di un attributo che non è stato impostato
  • closest() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • find() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • Is() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • map() metodo che può iterare oggetti e array
  • nextUntil() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • parentsUntil() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • prevUntil() metodo che accetta ora elementi jQuery e nodi DOM come filtro
  • Undelegate() metodo che può sciogliere tutti i gestori di eventi da uno (namespace) spazio di nomi