Reemplazar “$” (signo de dólar) con “JQuery”

El primer fragmento no funcionaba. Sin embargo, comienza a funcionar cuando se reemplaza todo $ (signo de dólar) con jQuery (Consulte el segundo fragmento). Pero realmente no entiendo por qué? ¿Puede alguien explicarme esto? ¡Muchas gracias!

1st Snippet

jQuery.noConflict(); $(document).ready(function(){ $("#insideTable > tbody > tr:odd").addClass("odd"); $("#insideTable > tbody > tr:not(.odd)").hide(); $("#insideTable > tbody > tr:odd").show(); $("#insideTable > tbody > tr.odd").click(function(){ $(this).next().toggle(); $(this).find(".arrow").toggleClass("up"); }); }); 

2nd Snippet

  jQuery.noConflict(); jQuery(document).ready(function(){ jQuery("#insideTable > tbody > tr:odd").addClass("odd"); jQuery("#insideTable > tbody > tr:not(.odd)").hide(); jQuery("#insideTable > tbody > tr:odd").show(); jQuery("#insideTable > tbody > tr.odd").click(function(){ jQuery(this).next().toggle(); jQuery(this).find(".arrow").toggleClass("up"); }); }); 

Esto se debe a que jQuery.noConflict() “libera” que “$” no se asocie con jQuery. Normalmente en su código puede usar $ como reemplazo de “jQuery”. Si usa noConflict() ya no puede hacer eso y debe reemplazar cada “$” por “jQuery”; .

Muchas bibliotecas de JavaScript usan $ como una función o nombre de variable, al igual que jQuery. En el caso de jQuery, $ es solo un alias para jQuery, por lo que toda la funcionalidad está disponible sin usar $. Si necesitamos usar otra biblioteca de JavaScript junto con jQuery, podemos devolver el control de $ a la otra biblioteca con una llamada a $ .noConflict ():

también puedes crear un alias totalmente nuevo para usar

 var myJqueryAlias = jQuery.noConflict(); myJqueryAlias(document).ready(function(){ myJqueryAlias("#insideTable > tbody > tr:odd").addClass("odd"); myJqueryAlias("#insideTable > tbody > tr:not(.odd)").hide(); myJqueryAlias("#insideTable > tbody > tr:odd").show(); myJqueryAlias("#insideTable > tbody > tr.odd").click(function(){ myJqueryAlias(this).next().toggle(); myJqueryAlias(this).find(".arrow").toggleClass("up"); }); }); 

Al llamar a noConflict () se elimina la asociación entre $ y la función jQuery. Esto es para que pueda usar otra biblioteca de JavaScript que también se acorta a $ sin conflictos.