specific - jquery insert inner




TypeError: 'undefined' não é uma função(avaliando '$(document)') (10)

  1. Eu estou usando um site WordPress.
  2. Estou incluindo esse script no cabeçalho.

Quando o script é carregado, recebo este erro:

TypeError: 'undefined' não é uma função (avaliando '$ (document)')

Eu não tenho ideia do que está causando isso ou do que isso significa.

No firebug, eu recebo isto:

$ não é uma função


Além disso, verifique a inclusão do jQuery, seguido de alguns componentes / outras bibliotecas (como jQuery UI) e depois incluindo acidentalmente o jQuery - isso redefinirá o jQuery e soltará os auxiliares do componente (como .datepicker) da instância.


Duas coisas:

  1. Certifique-se de ter a biblioteca jQuery adicionada antes de seu $ (documento).
  2. Em seguida, basta alterar todos os "$" com: jQuery, como os comentários anteriores.

Eu corri para este problema também ao incluir o jQuery no cabeçalho da minha página, não percebendo que o host já estava incluindo-o na página automaticamente. Portanto, carregue sua página ao vivo e verifique a origem para ver se o jQuery está sendo vinculado.


Eu também enfrentei esses problemas muitas vezes na web develoment carrier. Na verdade não é conflito JS, Quando nós carregamos o site html para o navegador não enfrentamos esse erro, mas quando nós carregamos esse tipo de site através de localhost enfrentamos esse problema. Isso é por causa do localhost. Quando carregamos scripts pelo host local, ele verifica o script e processa a saída. Mas quando não usamos o host local. Apenas escaneia a saída. Exemplo, quando escrevemos código php colocando o localhost e rodamos sem host, obtemos erro. Mas se o código está correto e é executado pelo host, obtemos a saída real e, quando usamos o elemento de inspeção, obtemos o código de saída no formato HTM1, mas não no formato PHP, isso ocorre devido à renderização do código.

Isso é erro de renderização. Então, para corrigir esses erros de código jquery, uma das soluções pode estar usando este método.

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

O que este código faz é registrar '$' como o varible para a função aplicando jquery. Por padrão, o arquivo .js é lido apenas como javascript.


Eu usaria isso

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

O Wordpress usa o jQuery no modo noConflict por padrão. Você precisa referenciá-lo usando jQuery como o nome da variável, não $ , por exemplo, use

jQuery(document);

ao invés de

$(document);

Você pode facilmente agrupar isso em uma função auto-executável para que $ se refira ao jQuery novamente (e evite poluir o namespace global também), por exemplo

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

Usa isto:

var $ =jQuery.noConflict();

Use o noConflict do jQuery. Fez maravilhas para mim

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

Ou seja, supondo que você incluiu jQuery no seu HTML

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

Você pode usar tanto o jQuery quanto o $ no trecho abaixo. funcionou para mim

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

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

Coloque seu código js dentro do fechamento acima, isso deve resolver o problema.





wordpress