Usuário com melhor resposta
JQuery append com função

Pergunta
-
Olá,
Tenho uma função que adiciona um link em uma div. E outra função que deve ser chamada pelo link adicionado pela primeira função.
Quando adiciono o link direto pelo HTML a segunda função funciona normalmente, mas pelo link adicionado pela primeira função, não funciona.
Segue o código.
//Primeira Função: Adiciona o Link na div $(function () { $('#bl').click(function () { $('#dvTeste').html('<a href="#" class="lt">Remove teste adicionado</a>'); return false; }); }); //Segunda Função: Remove a div $(function () { $('.lt').click(function () { $('#dvTeste').remove(); return false; }); });
O Html:
<a href="#" id="bl">Adiciona teste</a> <div id="dvTeste"> <a href="#" class="lt">Remove teste</a> </div>
Desde já, grato pela colaboração.
Respostas
-
Use o jquery.on:
$(document.body).on('.lt', 'click', function(e){ e.preventDefault(); $('#dvTeste').html(''); });
- Marcado como Resposta welington jrModerator quarta-feira, 3 de janeiro de 2018 15:27
Todas as Respostas
-
-
-
Saulo bom dia!
Tente assim:
$(function () { $('#bl').click(function () { $('#dvTeste').html('<a href="#" class="lt">Remove teste adicionado</a>'); $('.lt').click(function () { $('#dvTeste').html(''); return false; }); return false; }); });
Abs
- Sugerido como Resposta Gérison Sabino quinta-feira, 11 de setembro de 2014 03:13
-
Use o jquery.on:
$(document.body).on('.lt', 'click', function(e){ e.preventDefault(); $('#dvTeste').html(''); });
- Marcado como Resposta welington jrModerator quarta-feira, 3 de janeiro de 2018 15:27
-
Isso acontece porque você está atribuindo a função a uma classe, mas a classe ainda não "existe" no html.
O que você pode fazer é utilizar o jquery.on como o João Prado comentou.
Esta função vai colocar o evento no body da página, assim toda vez que você clicar no body, o jquery verifica se a classe clicada é a "lt" e dispara o evento.
- Editado Kauã Rob quinta-feira, 11 de setembro de 2014 00:23