Meu botao de remoção não remove o usuario padrão, somente remove os usuarios que são adicionados depois.
Meu botao de remoção não remove o usuario padrão, somente remove os usuarios que são adicionados depois.
Oi Gustavo, tudo bom?
Muito provavelmente isso está relacionado a sua seleção. Compartilha seu código com a gente? Assim fica mais fácil encontrar possiveis problemas.
insira seu código aquifunction inserePlacar(){
//buscando uma tbody que esta dentro de .placar, ou seja, buscar nos filhos através da função .find()
var corpoTabela = $(".placar").find("tbody");
var usuario = "Douglas";
var numPalavras = $("#contador-palavras").text();
var linha = novaLinha(usuario, numPalavras);
linha.find(".botao-remover").click(removeLinha);
//Anexar HTML como um último filho, com .append()
//Anexar HTML como um primeiro filho, com .prepend()
corpoTabela.prepend(linha);
}
function novaLinha(usuario, palavras){
var linha = $("<tr>");
var colunaUsuario = $("<td>").text(usuario);
var colunaPalavras = $("<td>").text(palavras);
var colunaRemover = $("<td>");
var link = $("<a>").addClass("botao-remover").attr("href","#");
var icone = $("<i>").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(colunaRemover);
return linha;
}
function removeLinha(event){
event.preventDefault();
$(this).parent().parent().remove();
}
Estranho mesmo, o código parece funcionar bem pros adicionados mesmo. Como está montado o HTML do seu usuário padrão? Segue a mesma estrutura do link com a classe botao-remover?
Uma abordagem pra evitar esse tipo de problema, é não contar os parents que a gente vai procurar. As vezes ter uma div a mais já acaba com o algoritmo. No seu caso, pelo o que eu entendi, você quer remover a td que é pai da classe bota-remover, certo? Pra nao ter que contar o parent, você pode chamar a função parents passando o seletor. Assim, o primeiro parent que ele encontrar que bata com o seletor será retornado. Algo como:
function removeLinha(event){
event.preventDefault();
$(this).parents("tr").remove();
}