Por alguna razón, obtengo un TypeError no detectado cuando intento ejecutar el siguiente código.
jQuery(function($){ $(document).ready(function() { $(".block").click(function() { var currentElement = $(this).find(".form-group"); currentElement.slideToggle("slow"); }); }); });Obtuve el siguiente error
Uncaught TypeError: currentElement.slideToggle is not a function at HTMLDivElement.<anonymous> (index.js:6) at HTMLDivElement.dispatch (jquery-3.1.1.slim.min.js:3) at HTMLDivElement.q.handle (jquery-3.1.1.slim.min.js:3) Sin embargo, cuando llamo a currentElement.toggle() Funciona como se esperaba y no obtengo ningún error.
¿Alguien puede explicar por qué es esto?
El problema aquí es que está utilizando la versión delgada que excluye los efectos como la animación que se espera de slideToggle ; por lo que la función no está definida. Simplemente cambie a la versión normal.
Desde la página de Jquery
Complexión delgada
A veces no necesita ajax, o prefiere usar una de las muchas bibliotecas independientes que se enfocan en las solicitudes de ajax. Y, a menudo, es más sencillo usar una combinación de CSS y manipulación de clases para todas sus animaciones web. Junto con la versión normal de jQuery que incluye los módulos ajax y de efectos, hemos lanzado una versión "delgada" que excluye estos módulos. En general, excluye ajax, efectos y código obsoleto actualmente.