Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
Uso correcto de JQuery en modo compatibilidad

En una clase de JavaScript que escribí, uso una versión específica cargada dinámicamente de JQuery (versión 3.2.1). Yo uso esa versión cargada dinámicamente en modo de compatibilidad.

No estoy seguro si el selector "generado" en modo de compatibilidad y pasado como argumento a una función, también usará el modo de compatibilidad (mi propia versión en lugar de la original).

Aquí el código:

 function toggleFunction ( jQuerySelectorItem ) { //hide all $jq_321(".class").hide(); var checkBoxes = $jq_321(".class[rel-data='" + jQuerySelectorItem.attr("rel-data") + "'] input"); // <<<<< is this 'jQuerySelectorItem' still use jQuery 3.2.1 if generated by '$jq_321' selector ? if (jQuerySelectorItem.is(":checked")) { checkBoxes.toArray().forEach ( item => this.__changeDependantCheckBoxStatus(item, true)); } else { checkBoxes.toArray().forEach ( item => this.__changeDependantCheckBoxStatus(item, false)); } $jq_321(".class[rel-data='" + jQuerySelectorItem.attr("rel-data") + "']").show(); }

Así es como cargo dinámicamente la versión correcta de JQuery en modo de compatibilidad antes de usarlo:

 window.onload = (event) => { var jqScriptTag = document.createElement("script"); jqScriptTag.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'; jqScriptTag.onload = function() { console.log('Temporary jQuery version : ' + jQuery.fn.jquery); $jq_321 = jQuery.noConflict(true); console.log('Restored original jQuery version : ' + jQuery.fn.jquery); //other code that will indeed call toggleFunction when needed }; document.head.appendChild(jqScriptTag); };

Aquí el registro de la consola:

Versión temporal de jQuery: 3.2.1

Versión original restaurada de jQuery: 1.4.2

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El .fn. es una forma de acceder a los métodos jquery sin un objeto jquery, lo que llama selector "generado" .

También puede llamar a la parte después de .fn. en cualquier objeto jquery, por ejemplo:

 console.log($("div").jquery)
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div></div>

Entonces puede verificar fácilmente qué versión es su objeto jquery (selector generado):

 console.log(d331.jquery) console.log(d123.jquery)
 <div id="div1"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> var d331 = $("#div1"); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> <script> var d123 = $("#div1"); </script>

Siempre que sus funciones usen métodos jquery que existen en ambos, no tendrá ningún problema (en su función).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda