none
JQuery append com função RRS feed

  • 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.
    quinta-feira, 4 de setembro de 2014 22:07

Respostas

Todas as Respostas

  • Olá Saulo !! :)

    Adicionando o link com a primeira funcao, ¿funciona se você faz um "refresh"na página?

    quinta-feira, 4 de setembro de 2014 22:16
  • Olá Richof,

    Mas se caso eu não quiser dar um refresh na página, usando esse exemplo para uma função ajax, como poderia fazer?

    quinta-feira, 4 de setembro de 2014 23:57
  • 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
    sexta-feira, 5 de setembro de 2014 12:46
  • Use o jquery.on:

    $(document.body).on('.lt', 'click', function(e){          
        e.preventDefault();     
        $('#dvTeste').html('');
    });


    quinta-feira, 11 de setembro de 2014 00:17
    Moderador
  • 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
    quinta-feira, 11 de setembro de 2014 00:23