Qual è la differenza tra $ e jQuery

Quando provo a usare $("#div_id") in $(document).ready restituisce NULL, ma quando uso jQuery("#div_id") restituisce l’object reale!

Perché sta succedendo?

AGGIORNAMENTO: ho provato il metodo noConflict senza ottenere alcun suggerimento.

 jQuery.noConflict() function (a,b){return new c.fn.init(a,b)} $.noConflict(); TypeError: Object function () { return document.getElementById.apply(document, arguments) } has no method 'noConflict' 

AGGIORNAMENTO 2:

 $(document).ready(function() { debugger; });  

Quando eseguo il seguente codice nella console ho ottenuto quei risultati:

 $("#test").val() TypeError: Cannot call method 'val' of null jQuery("#test").val() "123" 

Grazie

Vedi jQuery.noConflict () . Altre librerie javascript sulla tua pagina potrebbero utilizzare la variabile $ ?

$ è solo una variabile usata per alias jQuery ed essendo una variabile, qualsiasi cosa potrebbe essere assegnata ad essa.

$ e jQuery sono entrambi uguali tranne $ è solo un alias di jQuery che puoi modificare o rimuovere con la modalità jQuery.noConflict .

$ viene anche utilizzato in Prototype.js , che è un framework javascript come jQuery. Potrebbe essere il caso che il tuo progetto includa anche riferimenti a questo framework.

Per maggiori informazioni su come funziona il dollaro prototipo, vai qui .

Puoi far lavorare i due insieme con la dichiarazione noConflict, come indicato nelle altre risposte. Lo stiamo facendo in uno dei nostri progetti, che utilizza $ (elemento) per il codice prototipo precedente e jQuery (elemento) per il nuovo codice jQuery.

Sembra che qualcosa abbia preso il $, per riassegnare jQuery a $, provare ad andare:

 var $ = jQuery; 

Forse hai un’altra libreria che usa $?

jQuery e $ sono gli stessi – vedi il codice sorgente di jQuery:

 window.jQuery = window.$ = jQuery; 

Forse usi un’altra libreria che usa la variabile $ e poi devi risolvere i conflitti di denominazione.

  

Oppure puoi usare uno dei seguenti snippet (nel suo corpo non ci saranno conflitti di $):

 // Method 1 jQuery(document).ready(function($){ /* some code that uses jQuery $ */ }); // Method 2 (function($) { /* some code that uses jQuery $ */ })(jQuery);