2016-08-31 1 views
1

So habe ich eine Tabelle, die ein alternierendes Format für Zeilen hat (sagen wir grau und weiß). Ich lösche eine Zeile mit der jquery-Funktion tr.remove(), und natürlich ändert sich auch nicht die CSS der Zeilen darüber/darunter, und sie behalten ihre ungeraden/geraden Stile bei. Grundsätzlich:Entfernen Sie eine Tabellenzeile, aber behalten Sie das CSS alternate Zeilenformat

Before Deletion   After Deletion 

grey     grey 
white     white 
grey     white 
white     grey 
grey 

Gibt es eine Möglichkeit, die Tabelle schnell zu zwingen, die Stile zu "aktualisieren"? Oder muss ich sie manuell mit jquery anwenden?

Vielen Dank!

+0

Diese Antwort nicht funktioniert, wie Sie wollen. – Developer

+0

Tut mir leid, aber es ist. Warte, eigentlich tut es mir nicht leid, aber dankbar =) – Gaspa79

+0

Wieder siehe Antwort und vergleiche mit Fragen. Was fehlt in beiden? – Developer

Antwort

6

Also das Styling mit CSS anstatt mit ungeraden/geraden Klassen/Hardcoding-Werten.

document.querySelector("tbody").addEventListener("click", function(e) { 
 
    var td = e.target, 
 
     tr = td.parentNode; 
 
     tr.parentNode.removeChild(tr); 
 
    
 
});
tr:nth-child(even) { 
 
     background-color: #FFF; 
 
    } 
 
    
 
    tr:nth-child(odd) { 
 
     background-color: #CCC; 
 
    }
<table> 
 
    <tbody> 
 
    <tr><td>1</td></tr> 
 
    <tr><td>2</td></tr> 
 
    <tr><td>3</td></tr> 
 
    <tr><td>4</td></tr> 
 
    <tr><td>5</td></tr> 
 
    <tr><td>6</td></tr> 
 
    </tbody> 
 
</table>

+0

Wird das funktionieren? Testen Sie es jetzt. – Gaspa79

+1

Es funktioniert nicht – Developer

+0

@Singh und welchen Browser verwenden Sie, dass es nicht funktioniert? Demo ist nur eine Demo, CSS ist alles was wirklich zählt. Ich habe den JS-Teil älteren IE-freundlich nicht gemacht. Funktioniert gut für mich in Chrome und Firefox, wenn Sie auf die Zahlen klicken. – epascarello

Verwandte Themen