En JQuery, el signo $ es solo un alias para JQuery. Significa $(“p”) y JQuery.(“p”), ambos son totalmente iguales. Podemos usar cualquiera. Este signo $ es utilizado por muchas bibliotecas de Javascript como nombres de funciones o nombres de variables. En el momento del desarrollo, es obvio que vamos a utilizar muchas bibliotecas junto con JQuery. Puede haber una posibilidad de que otras bibliotecas también usen el signo $. En este caso, cuando dos marcos usan el mismo signo $, uno podría dejar de funcionar.
Para resolver este problema, JQuery implementó el método noConflict() . El método noConflict() devuelve el control de $, para que otros marcos/bibliotecas puedan usarlo.
Sintaxis:
$.noConflict();
Parámetro: No acepta ningún parámetro.
Valor devuelto: Devuelve una referencia a jQuery.
Ejemplo 1: código jQuery para mostrar el funcionamiento del método noConflicct()
HTML
<!DOCTYPE html> <html lang="en"> <head> <!-- Using jquery library --> <script src= "https://code.jquery.com/jquery-git.js"> </script> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <p>para-1</p> <p>para-2</p> <p>para-3</p> <p>para-4</p> <p>para-5</p> <script> // Calling with $ sign console.log($("p").length) // Releasing the control of $ $.noConflict(); // Calling again with $ sign console.log($("p").length) </script> </body> </html>
Salida: aquí, puede ver que después de soltar el control del signo $ , ya no podemos usar el signo $ . Es por eso que recibimos un error cuando volvimos a llamar a la propiedad de longitud con el signo $. Básicamente, después de llamar al método noConflict() , tenemos que usar jQuery en lugar del signo $. Y el signo $ será utilizado por otras bibliotecas.
Ejemplo 2:
HTML
<!DOCTYPE html> <html lang="en"> <head> <!-- using jquery library --> <script src= "https://code.jquery.com/jquery-git.js"> </script> </head> <body> <p>para-1</p> <p>para-2</p> <p>para-3</p> <p>para-4</p> <p>para-5</p> <script> $.noConflict(); console.log(jQuery("p").length); // Code that uses other library's $ can follow here. </script> </body> </html>
Salida: Ok, debido a la presencia de otras bibliotecas en nuestro código, no podemos usar el signo $para el código JQuery, y somos muy perezosos, por lo que no queremos escribir jQuery en cada línea. Entonces, ¿por qué no crear nuestro propio alias para jQuery?
5
Crear alias para jQuery: el método noConflict() devuelve una referencia a jQuery, y podemos almacenar esto en una variable para uso futuro.
Ejemplo 3:
HTML
<!DOCTYPE html> <html lang="en"> <head> <!-- using jquery library --> <script src= "https://code.jquery.com/jquery-git.js"> </script> </head> <body> <p>para-1</p> <p>para-2</p> <p>para-3</p> <p>para-4</p> <p>para-5</p> <script> console.log($("p").length) let gk = $.noConflict(); console.log(gk("p").length); </script> </body> </html>
Producción:
5 5
Caso: Rohan está haciendo su proyecto escolar usando jQuery y ha escrito alrededor de 100 líneas de código jQuery. Está a punto de completar su proyecto, pero luego pensó en agregar algunas características más a su proyecto. Entonces agregó algunas bibliotecas de JavaScript que también usan el signo $, por lo que usa el método noConflict(). Pero cuando agregó el método noconflict() , se dio cuenta de que tenía que reemplazar todos los signos $anteriores con jQuery.
No… no necesitamos cambiar cada signo $con jQuery.
Usar el signo $dentro de una función: si tenemos una función en la que se usa el signo $, podemos pasar el signo $como parámetro a esa función. Esto nos permitirá usar el signo $dentro de esa función, pero aun así, tenemos que usar jQuery fuera de la función.
Ejemplo:
HTML
<!DOCTYPE html> <html lang="en"> <head> <!-- using jquery library --> <script src= "https://code.jquery.com/jquery-git.js"> </script> </head> <body> <p>para-1</p> <p>para-2</p> <p>para-3</p> <p>para-4</p> <p>para-5</p> <script> $.noConflict(); jQuery(document).ready(function ($) { console.log($("p").length); }); </script> </body> </html>
Producción:
5
Publicación traducida automáticamente
Artículo escrito por hritikrommie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA