Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Botão Remover não funciona para os elementos padrão do HTML

function inserePlacar() { var corpoTabela = $(".placar").find("tbody"); var usuario = "Carlos" var numPalavras = $("#contador-palavras").text(); var numCaracteres = $("#contador-caracteres").text();

var linha = novaLinha(usuario,numPalavras,numCaracteres);
linha.find(".botao-remover").click(removeLinha);
corpoTabela.append(linha);

}

function novaLinha(usuario,numPalavras,numCaracteres){ var linha = $(""); var colunaUsuario = $("").text(usuario); var colunaPalavras = $("").text(numPalavras); var colunaCaracteres = $("").text(numCaracteres); var colunaRemover = $(""); var link = $("").attr("href", "#").addClass("botao-remover"); var icone = $("").addClass(".small").addClass("material-icons").text("delete");

// Icone dentro do <a>
link.append(icone);

// <a> dentro do <td>
colunaRemover.append(link);

// Os três <td> dentro do <tr>
linha.append(colunaUsuario);
linha.append(colunaPalavras);
linha.append(colunaCaracteres);
linha.append(colunaRemover);

return linha;

}

function removeLinha(event){ event.preventDefault(); $(this).parent().parent().remove(); }

3 respostas

Olá Carlos Magno, tudo bem ? Dá uma comparada na sua função novaLinha com a que foi feita na aula. Você pode reparar que o código que você postou não possui nenhum elemento: var linha = $(""); var colunaUsuario = $("").text(usuario);

O apresentado é assim:

var linha = $(""); var colunaUsuario = $("").text(usuario);

Com eles vazios ele não remove porque a linha não existe.

solução!

Ao abrir a discussão pode não ter sido copiado integralmente, ocorreu um problema ao copiar o código por aqui

Então Magno, se este é o seu código final, então o problema está na parte que eu falei. No código da função novaLinha. Quando você está declarando as variáveis, você não colocou nenhum elemento para que o Jquery saiba, qual elemento. A sua variável linha está assim:

var linha = $("");

O correto seria:

var linha = $("<tr>");