- Estoy usando un sitio de WordPress.
- Estoy incluyendo este script en el encabezado.
Cuando se carga el script, aparece este error:
TypeError: 'undefined' no es una función (evaluar '$ (documento)')
No tengo idea de qué lo está causando o qué significa.
En firebug, obtengo esto:
$ no es una función
Net
pestaña de Firebug (asegúrese de que jQuery se cargue realmente).Respuestas:
Wordpress usa jQuery en modo noConflict por defecto. Debe hacer referencia a él usando
jQuery
el nombre de la variable, no$
, por ejemplo, usaren vez de
Puede resumir esto fácilmente en una función de ejecución automática para que
$
vuelva a referirse a jQuery (y también evite contaminar el espacio de nombres global), por ejemplofuente
jQuery(document)
lugar de$(document)
donde quieras. Si desea utilizar$
en su lugar, entonces el script anterior simplemente crea una función que toma un argumento y$
luego lo ejecuta pasandojQuery
; en resumen, dentro de la función,$
apunta a jQuery como era de esperar.$(document).ready(function() { // code });
en lugar de tu$(document);
... eso funcionó a las mil maravillas.Use jQuery's
noConflict
. Me hizo maravillasEs decir, suponiendo que haya incluido jQuery en su HTML
fuente
Utilizar este:
fuente
Prueba este fragmento:
A mí me funcionó, quizás también te ayude.
fuente
Tuve este problema solo en Chrome.
Traté de agregar
justo antes de llamar
Funcionó.
Muchas gracias
fuente
También verifique la inclusión de jQuery, seguido de algunos componentes / otras bibliotecas (como jQuery UI) y luego incluya jQuery de forma accidental nuevamente; esto redefinirá jQuery y eliminará los ayudantes de componentes (como .datepicker) de la instancia.
fuente
Coloque su código js dentro del cierre de arriba, debería resolver el problema.
fuente
Yo usaria esto
fuente
También me he enfrentado a estos problemas muchas veces en el operador de desarrollo web. En realidad, no es un conflicto de JS, cuando cargamos el sitio web html en el navegador no nos enfrentamos a ese error, pero cuando cargamos este tipo de sitio web a través de localhost nos enfrentamos a tal problema. Eso es por localhost. Cuando cargamos scripts a través del localhost, escanea el script y presenta el resultado. Pero cuando no usamos localhost. Simplemente escanea la salida. Ejemplo, cuando escribimos el código php, colocamos el host local y ejecutamos sin host, obtenemos un error. Pero si el código es correcto y se ejecuta a través del host, obtenemos una salida real, y cuando usamos el elemento de inspección obtenemos el código de salida en formato HTMl pero no en formato PHP, esto se debe a la representación del código.
Este es un error de representación. Entonces, para corregir este error de código jquery, una de las soluciones puede estar usando este método.
Lo que hace este código es registrar '$' como la variable de la función aplicando jquery. De lo contrario, el archivo .js solo se lee como javascript.
fuente
Me encontré con este problema también al incluir jQuery en el encabezado de mi página, sin darme cuenta de que el host ya lo estaba incluyendo en la página automáticamente. Así que cargue su página en vivo y verifique la fuente para ver si jQuery está siendo vinculado.
fuente
Dos cosas:
fuente
envolver todo el guión entre esto ...
Muchas bibliotecas de JavaScript usan $ como función o nombre de variable, tal como lo hace jQuery. En el caso de jQuery, $ es solo un alias para jQuery, por lo que toda la funcionalidad está disponible sin usar $. Si necesita usar otra biblioteca de JavaScript junto con jQuery, devuelva el control de $ a la otra biblioteca con una llamada a $ .noConflict () . Las referencias antiguas de $ se guardan durante la inicialización de jQuery; noConflict () simplemente los restaura.
fuente
Puede usar jQuery y $ en el fragmento a continuación. funciono para mi
fuente
Puede pasar $ en la función ()
o puedes reemplazar
$(document);
con estojQuery(document);
o puedes usar
jQuery.noConflict()
fuente