2012-12-18 75 views
7

Ho eseguito alcune funzionalità jQuery.

Qualcuno può darmi qualche idea di quale sia la differenza tra l'uso di $ e $$?

+6

Puoi condividere del codice dove lo vedi? –

+1

Puoi fornire esempi di dove hai visto che '$' e' $$' sono stati usati in relazione a jquery? – TLS

+1

'$$' non ha alcun significato per jQuery; il suo uso è una decisione arbitraria da parte di chiunque abbia scritto qualunque cosa stia guardando. –

risposta

5

Nella documentazione jQuery non è presente la dichiarazione $$. jQuery ha un selettore predefinito con il carattere $. Forse questo script usa un'altra lib di javascript e ha alcuni conflitti con jQuery. In questo caso, è possibile utilizzare jquery.NoConflict per evitare questo tipo di problema e impostare un altro selettore jQuery.

Qualcosa di simile:

var s = jQuery.noConflict(); 

// something with new jQuery selector 
s("div p").hide(); 

// something with another library's using $() 
$("content").style.display = 'none'; 

Se il codice deve somethig come per evitare conflitti: var $$ = jquery.noConfict();, è possibile utilizzare $$ come selettore jQuery: $$("#element").method();

Visualizza maggiori sulla documentazione: http://api.jquery.com/jQuery.noConflict/

1

$ AND $$ sono selettori di mootools e $ è anche un selettore jquery.

see jquery noConflict modalità

2

Guardando the jQuery source code, non c'è luogo in cui definisce $$. $$ non fa parte di jQuery, devi averlo confuso con qualcos'altro.

1

Breve Anser:$$ è NON definito nelle specifiche jQuery, in aggiunta la notazione di single $() - segno significa che incapsulare cose all'interno staffa a un oggetto jQuery.

Quindi, alias $ è un'abbreviazione per dire - sto usando la libreria jQuery, dove come doppio $$ non è definito in una libreria jQuery standard.

1

Tutte le funzionalità jQuery sono incapsulate nell'oggetto jQuery, che è anche accessibile come $. Il codice che stai esaminando potrebbe utilizzare una libreria diversa (ad esempio Mootools), che utilizza una funzione $$.

1

$$ non ha alcun significato in Jquery, tuttavia è utilizzato all'interno del framework prototipo.

Prototype $$

Verificare inoltre che non si tratta di una versione precedente di Jquery assegnato attraverso noConflict.

Cerca il codice per var $$ per trovare un possibile incarico di una versione jquery precedente.

var $$ = jquery.noConfict(); 
3

jQuery è un oggetto fornito da jQuery. $ è un altro, che è solo un alias per jQuery.

$$ non fornito da jQuery. È fornito da altre librerie, come Mootools o Prototype.js.

Ancora più importante, $$ viene fornito anche nella console dei browser moderni come alias su document.querySelectorAll. Tranne se è sovrascritto da un'altra libreria. $ viene fornito allo stesso modo, come alias su document.querySelector.

Vedere this answer per ulteriori informazioni.

2

$ e $$ funziona su qualsiasi pagina web (se jQuery non è incluso anche) su Chrome, FF e browser Safari dove $ rendimenti primo elemento del selettore passato, Qui $ è document.querySelector, e $$ restituisce serie di elementi come document.querySelectorAll . Sono le funzioni native dei browser Chrome e Firefox, è possibile vedere la definizione di $ e $$ in Safari.

aperto Wordpress in uno qualsiasi dei Chrome, Firefox o Safari, e la console sviluppatore aperta per verificare questi risultati ... (perchè wordpress, perché non utilizzare strumenti jQuery o Moo)

$('div') returns first div in DOM 

$$('div') returns all div in DOM 

Puoi controllalo here

Problemi correlati