Tabellen dynamisch in HTML hinzufügen_PowerNode Java Academy

Tabellen dynamisch in HTML hinzufügen_PowerNode Java Academy

Ohne weitere Umschweife werde ich den Code direkt für Sie posten. Der spezifische Code lautet wie folgt:

<html>  
    <head><title>Tabelle</title></head>  
    <Text>  
        <Tabellengrenze="1">  
            <Kopf>  
                <tr>  
                    <td>Vorname</td>  
                    <td>Nachname</td>  
                    <td> </td>  
                </tr>  
            <Kopf>  
            <tbody id="tb">  
                <tr id="1.">  
                    <td>Vertrauen</td>  
                    <td>Drei</td>  
                    <td><input type="button" value="Hinzufügen" onclick="add()">   
                    <input type="button" value="Entf" onclick="del(this)"></td>  
                </tr>  
            </tbody>  
        </Tabelle>  
    </body>  
</html>  
<Skript>  
    Funktion add() {  
        var trObj = document.createElement("tr");  
        trObj.id = neues Date().getTime();  
        trObj.innerHTML = "<td><input name='Vorname'/></td><td><input name='Nachname'/></td><td><input type='button' value='Hinzufügen' onclick='add()'> <input type='button' value='Entf' onclick='del(this)'></td>";  
        document.getElementById("tb").appendChild(trObj);  
    }  
    Funktion del(Objekt) {  
        var trId = obj.parentNode.parentNode.id;  
        var trObj = document.getElementById(trId);  
        document.getElementById("tb").removeChild(trObj);  
    }  
</Skript>

Im obigen Code konstruieren wir zunächst eine Tabelle im Textkörper. Um nachfolgende Operationen zu erleichtern, fügen wir der Tabelle thead- und tbody-Tags hinzu. Das thead-Tag gibt den Tabellenkopf an und das tbody-Tag den Tabellentext.

Die Tabelle im Beispiel hat drei Spalten: Die erste Spalte enthält den Vornamen, die zweite Spalte enthält den Nachnamen und die dritte Spalte ist die Operationsspalte.

Die Spalte „Operation“ enthält zwei Operationen: Eine dient zum Hinzufügen einer Zeile zur Tabelle und die andere zum Löschen der aktuellen Zeile. Die Vorgänge zum Hinzufügen und Löschen von Zeilen sind jeweils an zwei Schaltflächen gebunden. Wenn auf die Schaltfläche geklickt wird, werden die entsprechenden Vorgänge zum Hinzufügen und Löschen von Zeilen ausgelöst.

Zeile hinzufügen (Methode)

Funktion add() {  
        var trObj = document.createElement("tr");  
        trObj.id = neues Date().getTime();  
        trObj.innerHTML = "<td><input name='Vorname'/></td><td><input name='Nachname'/></td><td><input type='button' value='Hinzufügen' onclick='add()'> <input type='button' value='Entf' onclick='del(this)'></td>";  
        document.getElementById("tb").appendChild(trObj);  
    }

Die erste Zeile erstellt ein tr-Element, also eine Tabellenzeile.

Die zweite Zeile, trObj.id = new Date().getTime(); fügt dieser Zeile ein ID-Attribut hinzu und weist dem Attribut einen Wert zu, der die Millisekunden des aktuellen Systems übernimmt. Dies wird hauptsächlich beim Löschen benötigt.

Die dritte Zeile, trObj.innerHTML = "<td><input name='firstName'/></td><td><input name='lastName'/></td><td><input type='button' value='Add' onclick='add()'>

<input type='button' value='Del' onclick='del(this)'></td> "; Weisen Sie den Tabellenzeilen Werte zu und verwenden Sie das Attribut innerHTMML, um den HTML-Codeinhalt zwischen dem Tag <tr> und dem Tag </tr> festzulegen. Dabei handelt es sich um den hinzuzufügenden Zeileninhalt.

Die vierte Zeile, document.getElementById("tb").appendChild(trObj); fügt die erstellte Tabellenzeile zum Tabellenkörper hinzu.

Methode „Zeile löschen“

Funktion del(Objekt) {  
    var trId = obj.parentNode.parentNode.id;  
    var trObj = document.getElementById(trId);  
    document.getElementById("tb").removeChild(trObj);  
}

In der Löschmethode wird ein Parameter übergeben. In der Zeilenaddiermethode können wir sehen, dass der Parameter this in der Löschmethode del übergeben wird. Das this im Seitencode bezieht sich auf das aktuelle HTML-Element, also das <input>-Feld, in dem sich this befindet.

Die erste Zeile, var trId = obj.parentNode.parentNode.id ; ruft die ID des übergeordneten Knotens des übergeordneten Knotens des aktuellen Elements ab, d. h. die ID der zu löschenden Zeile.

Die zweite Zeile, var trObj = document.getElementById(trId); ruft das zu löschende Zeilenelement ab.

Die dritte Zeile, document.getElementById("tb").removeChild(trObj); entfernt die Zeile im Tabellenkörper.

Mangel

Der obige Code implementiert grundsätzlich die Funktion zum dynamischen Hinzufügen und Löschen von Zeilen in der Tabelle, der Code weist jedoch immer noch Mängel auf, hauptsächlich in den folgenden zwei Punkten:

1 Die Tabellenbreite ändert sich vor und nach dem Hinzufügen von Zeilen

Vorderseite hinzufügen

Nach dem Hinzufügen einer Zeile

Nach dem Hinzufügen von Zeilen werden die Tabellenspalten breiter

2 Der chinesische Text auf der vom Browser geöffneten Standardseite ist verstümmelt

Sie müssen die Zeichenkodierung festlegen, um das Seitenkodierungsformat zu ändern, bevor es normal angezeigt werden kann

<<:  17 hervorragende Webdesigns, sorgfältig von Startups entwickelt

>>:  Detaillierte Erläuterung, wie Vue Werte zurückgibt, um Formulare dynamisch zu generieren und Daten zu übermitteln

Artikel empfehlen

So erzielen Sie mit Vue3 beispielsweise einen Lupeneffekt

Inhaltsverzeichnis Vorwort 1. Die Bedeutung der K...

MySQL 5.7.18 MSI-Installations-Grafik-Tutorial

In diesem Artikel wird das MySQL 5.7.18 MSI-Insta...

Der Unterschied zwischen Animation und Übergang

Der Unterschied zwischen CSS3-Animation und JS-An...

Spezifische Verwendung von Docker Anonymous Mount und Named Mount

Inhaltsverzeichnis Datenvolumen Anonyme und benan...

Hyperlink-Tag für HTML-Webseiten

Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...

Zusammenfassung des MySQL Undo Log und Redo Log

Inhaltsverzeichnis Undo-Protokoll Erstellung und ...

Eine detaillierte Einführung in die Verwendung von Blockkommentaren in HTML

Allgemeine Kommentare in HTML: <!--XXXXXXXX--&g...

Implementierung der CSS3-Button-Randanimation

Erster Blick auf die Wirkung: html <a href=&qu...

Vermeiden Sie den Missbrauch zum Lesen von Daten in Vue

Inhaltsverzeichnis Vorwort 1. Der Prozess der Ver...