Utworzyłem tabelę, do której wiersze są dodawane dynamicznie (z tablicy). Mam przycisk, który usuwa ostatnią linię, aż napotka th. Natomiast aby usuwać wybrany wiersz (po kliknięciu na niego myszką), wstawiłem taką funkcję (copyright @Comandeer :) ):
(function(d)
{
d.getElementsByTagName('table')[0].addEventListener('click', function(e)
{
var t = e.target;
if(t.tagName.toLowerCase() === 'td')
//console.log(t.parentNode.innerHTML);
t.parentNode.innerHTML = '';
}, false);
}(document));
Pytanie, czy kliknięta linia jest faktycznie usuwana, czy tylko traktowana jako pusta (przez przyrównanie jej innerHTML do pustego stringa')? Jeśli faktycznie jej nie usuwam (z tablicy, z której została dynamicznie utworzona), to jak to zrobić?
Usuwanie ostatniej linii, po kliknęciu w przycisk, realizuje poprzez:
removeRow = function(){
if (document.querySelector('table').rows.length != 1)
{
document.querySelector('table').deleteRow(this.length - 1);
}
};
Czy mogę zastosować metodę .deleteRow przy usuwaniu wybranej linii? Jeśli ona do tego również się nadaje, to jak ją podpiąć pod t.parentNode?
Tabela wygląda tak