2013-02-10 21 views
17

Ho cercato dappertutto una documentazione chiara su questa sintassi. È usato per creare filtri personalizzati per selezionare elementi molto specifici nel DOM. C'è un buon esempio di Benjamin Arthur Lupton nell'esempio di esempio ajaxify-html5.js (vedere la riga 45 dove la funzione è definita e la riga 78 dove è usata), che fornisce per mostrare come ajaxificare un sito web usando il suo history plug-in.Come funziona jQuery.expr [':'] e dove è documentato per jQuery1.8.xe versioni successive?

C'è anche un blog abbastanza vasto di Shane Riley chiamato Adding Filter Expressions, ma ho setacciato la documentazione di jQuery e non riesco a trovare alcuna documentazione.

Le sarei grato se potesse o

  • punto me la documentazione ufficiale per la funzione di expr
  • mostrarmi dove trovarlo nei file di origine (ho guardato - non può trovarlo)
  • o suggerire sintassi alternativa basata su una tecnica che viene adeguatamente documentata

ho guardato jQuery.filter, ma non riesco a capire un'alternativa alla tecnica di Lupton nel suo script ajaxify.

Sono ansioso di lavorare con un jQuery recente. Sto lavorando con la v 1.8.2 e avrò l'obiettivo di eseguire l'aggiornamento a 1.9.x presto.

risposta

17

Fa parte di Sizzle che è il motore di selezione utilizzato da jQuery.

ora hanno la documentazione che spiega il suo utilizzo con gli esempi per 1.8.x pre e post: https://github.com/jquery/sizzle/wiki/Sizzle-Documentation#-pseudo-selectors

+0

Grazie per chiarire da dove proviene. In realtà avevo visto la documentazione di Sizzle.selectors.createPseudo, dove davano un esempio di jQuery introdotto con "In jQuery, questo sarebbe equivalente a ...". I documenti Sizzle usano la sintassi, implicando fortemente che si tratta della sintassi jQuery. Quindi la mia confusione. I documenti jQuery non lo menzionano per quanto posso dire. – DavidHyogo

+2

Ho appena trovato la connessione tra jQuery, Sizzle e questa strana sintassi: https://github.com/jquery/jquery/blob/master/src/sizzle-jquery.js righe 4 e 5. Grazie per avermi indicato nella giusta direzione Bob. 'jQuery.expr = Sizzle.selectors;' e 'jQuery.expr [": "] = jQuery.expr.pseudos;' – DavidHyogo

Problemi correlati