2016-04-18 16 views
0

Ich versuche Zeilen aus der Tabelle von Klassennamen zu löschen:Zeilen löschen aus der Tabelle nach Klassennamen

var tr = document.getElementsByClassName('edited'); 
var table = document.getElementById('messagebox'); 

for(var i = 0; i < tr.length ; i++){ 
    table.deleteRow(tr[i].rowIndex); 
} 

Aber nicht alle entfernt

+1

Können Sie Ihren HTML-Code teilen? Oder etwas anderes, um zu zeigen, welche nicht entfernt werden. –

Antwort

2

Ohne weitere Informationen (HTML Beispiel, etc.) mit, ich D sagen das Problem ist wahrscheinlich, dass Sie Zeilen von der Vorderseite der Liste entfernen.

Angenommen, Sie haben die Zeilen 2, 4 und 6 bearbeitet. Wenn Sie Zeile 2 entfernen, Zeile 4 wird Zeile 3 und Zeile 6 wird Zeile 5, so dass Sie die nächste Zeile entfernen (ursprünglich 4) 5 tatsächlich) usw.

Verwenden for(var i = tr.length - 1; i >= 0; i--){

+0

Es ist eine Lösung für mein Problem, aber warum kann ich keinen Text aus der Zelle bekommen? script.js: 144 Uncaught TypeError: Die Eigenschaft 'cells' von undefined kann nicht gelesen werden, wenn tr [j] .cells [3] .innerHTML – karpengold

0
var tr = document.getElementsByClassName('edited'); 
var table = document.getElementById('messagebox'); 

Sie verwenden Live-Sammlung, es wird automatisch aktualisiert, wenn Sie etwas mit Ihren Elementen tun, aber Sie müssen andere Dinge verwenden.

elem.querySelectorAll(css) 

Es gibt die Suchelemente zurück.

elem.querySelector(css) 

Es wird nur das erste Element gefunden.

Verwandte Themen