Por que esta function de clique do jQuery não está funcionando?

Código:

  $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); });  

O código acima não funciona. Quando clico no #clicker, ele não alerta e não esconde. Eu verifiquei o console e não recebo erros. Também verifiquei se o JQuery estava carregando e realmente está. Então não tenho certeza qual é o problema. Eu também fiz uma function de documento pronto com um alerta e que funcionou, então não tenho certeza do que estou fazendo de errado. Por favor ajude. Obrigado!

Você deve adicionar o código javascript em um $(document).ready(function() {}); quadra.

ou seja

 $(document).ready(function() { $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); }); }); 

Como afirma a documentação do jQuery : “Uma página não pode ser manipulada com segurança até que o documento esteja” pronto “. O jQuery detecta este estado de prontidão para você. O código incluído dentro de $( document ).ready() será executado apenas uma vez. Modelo (DOM) está pronto para código JavaScript para executar ”

Eu encontrei a melhor solução para este problema usando ON com $ (documento).

  $(document).on('click', '#yourid', function() { alert("hello"); }); 

para id começar com veja abaixo:

 $(document).on('click', 'div[id^="start"]', function() { alert ('hello'); }); 

finalmente depois de 1 semana eu não preciso adicionar o onclick triger. Espero que isso ajude muitas pessoas

Seu código pode funcionar sem document.ready () apenas certifique-se de que seu script está após o #clicker. Finalize esta demo: http://jsbin.com/aPAsaZo/1/

A ideia no conceito pronto. Se você tem certeza de que seu script é o mais recente em sua página ou depois do elemento afetado, ele funcionará.

     JS Bin    Click Me    

Tente adicionar $(document).ready(function(){ ao início do seu script, e depois }); . Além disso, o div tem o id corretamente, ou seja, como um id, não uma class etc.?

Você tem que embrulhar seu código Javascript com $(document).ready(function(){}); Veja este JSfiddle .

Código JS:

 $(document).ready(function() { $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); }); }); 

Certifique-se de que não há nada no seu botão (como um div ou um img transparente) que evite clicar no botão. Parece estúpido, mas às vezes achamos que o jQuery não está funcionando e tudo isso está resolvido, e o problema está no posicionamento dos elementos DOM.

Você pode usar $(function(){ // code }); que é executado quando o documento está pronto para executar o código dentro desse bloco.

 $(function(){ $('#clicker').click(function(){ alert('hey'); $('.hide_div').hide(); }); }); 

Apenas uma verificação rápida, se você estiver usando o mecanismo de modelos do lado do cliente, como guidão, seu js carregará após o document.ready, portanto, não haverá nenhum elemento para vincular o evento, portanto, use o manipulador onclick ou use-o no corpo e verifique a meta atual