Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/07/2020, 19:46
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Tablas dinámicas en JS a partir de un vector

Puedes emplear la delegación de eventos a través del objeto event. Básicamente consiste en registrar el evento click en el cuerpo de la tabla y, en la función de escucha, a partir del elemento clickeado (al cual se puede acceder mediante la propiedad target del objeto del evento), que bien puede ser una celda, un botón en una celda, una imagen en una celda, etcétera, tomar a toda la fila que lo contiene y proceder a eliminar del cuerpo de la tabla.

Código Javascript:
Ver original
  1. var tbody = document.querySelector("#idTabla tbody");
  2.  
  3. tbody.addEventListener("click", function(event){
  4.     if (event.target.tagName == "TD"){
  5.         let tr = event.target.parentNode;
  6.         tbody.removeChild(tr);
  7.     }
  8. }, false);

Y, del mismo modo, puedes acceder a todos los datos que contiene esa fila.

Código Javascript:
Ver original
  1. var tbody = document.querySelector("#idTabla tbody");
  2.  
  3. tbody.addEventListener("click", function(event){
  4.     if (event.target.tagName == "TD"){
  5.         let tr = event.target.parentNode, datos = [];
  6.         for (let i = 0, children = tr.children, n = children.length; i < n; i++){
  7.             datos.push(children[i].textContent);
  8.         }
  9.     }
  10. }, false);
  11.  
  12. //El arreglo "datos" contiene los datos de las celdas de la fila afectada, los cuales podrás administrar a discreción tuya

En ambos ejemplos identifiqué al elemento pulsado mediante el nombre de su etiqueta HTML, pero también puedes usar identificadores tales como el id, la clase, un atributo personalizado, etc.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand