data change attribute jquery wordpress

jquery - change - TypeError: ''undefined'' no es una función(evaluando ''$(document)'')



jquery each (14)

Dos cosas:

  1. Asegúrese de tener una biblioteca jQuery agregada, antes de su $ (documento).
  2. Luego simplemente cambie todo "$" con: jQuery, como los comentarios anteriores.
  1. Estoy usando un sitio de WordPress.
  2. Estoy incluyendo esta secuencia de comandos en el encabezado.

Cuando se carga el script, obtengo este error:

TypeError: ''undefined'' no es una función (evaluando ''$ (document)'')

No tengo idea de qué lo está causando o qué significa.

En firebug, entiendo esto:

$ no es una función


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. Cargue su página en vivo y verifique la fuente para ver si jQuery está siendo enlazado.


Prueba este fragmento:

jQuery(function($) { // Your code. })

Me funcionó, tal vez te ayude también.


Puede pasar $ en la función ()

jQuery(document).ready(function($){ // jQuery code is in here });

o puede reemplazar $(document); con este jQuery(document);

o puede usar jQuery.noConflict()

var jq=jQuery.noConflict(); jq(document).ready(function(){ jq(''selector'').show(); });


Puede usar tanto jQuery como $ en el siguiente fragmento. funcionó para mí

jQuery( document ).ready(function( $ ) { // jQuery(document) // $(document) });


También compruebe si incluye jQuery, seguido de algunos componentes / otras bibliotecas (como jQuery UI) y luego de forma accidental, incluyendo jQuery: esto redefinirá jQuery y eliminará los componentes auxiliares (como .datepicker) de la instancia.


También me he enfrentado a tales problemas muchas veces en el desarrollo web portador. En realidad, no es un conflicto JS. Cuando cargamos el sitio web html en el navegador, no enfrentamos ese error, pero cuando cargamos este tipo de sitio web a través de localhost nos enfrentamos a ese problema. Eso es debido a localhost. Cuando cargamos scripts a través del localhost, escanea el script y procesa el resultado. Pero cuando no usamos localhost. Simplemente escanea la salida. Ejemplo, cuando escribimos el código php pone el localhost y ejecutamos sin host obtenemos un error. Pero si el código es correcto y se ejecuta a través del host, obtenemos la salida real, y cuando utilizamos el elemento inspeccionar obtenemos el código de salida en formato HTMl pero no en formato PHP, esto se debe a la representación del código.

Esto es un error de renderizado Entonces, para solucionar estos errores de código jquery, una de las soluciones puede estar usando este método.

jQuery(document).ready(function($){ /******** Body of Jquery Code*****/ });

Lo que este código hace es registrar ''$'' como varible para la función aplicando jquery. De lo contrario, el archivo .js solo se lee como javascript.


Tuve este problema solo en Chrome.

Intenté agregar

var $ =jQuery.noConflict();

justo antes de llamar

$(document).ready(function () {

Funcionó.

Muchas gracias


Use noConflict de jQuery. Me hizo maravillas

var example=jQuery.noConflict(); example(function(){ example(''div#rift_connect'').click(function(){ example(''span#resultado'').text("Hello, dude!"); }); });

Es decir, suponiendo que haya incluido jQuery en su HTML

<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>


Utilizar esta:

var $ =jQuery.noConflict();


Wordpress usa jQuery en modo noConflict forma predeterminada. Necesita referenciarlo usando jQuery como el nombre de la variable, no $ , por ejemplo, use

jQuery(document);

en lugar de

$(document);

Puede resumir fácilmente esto en una función autoejecutable para que $ haga referencia a jQuery nuevamente (y evite también la contaminación del espacio de nombre global), por ejemplo

(function ($) { $(document); }(jQuery));


Yo usaría esto

(function ($) { $(document); }(jQuery));


envolver todo el script entre esto ...

<script> $.noConflict(); jQuery( document ).ready(function( $ ) { // Code that uses jQuery''s $ can follow here. }); </script>

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 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.


;(function($){ // your code })(jQuery);

Coloque su código js dentro del cierre anterior, debería resolver el problema.