Neils Antwort ist bei weitem die beste. Allerdings werden die Dinge sehr schnell unübersichtlich. Mein Vorschlag wäre, Variablen zu verwenden, um Elemente zu speichern und fügen Sie sie an die DOM-Hierarchie.
HTML
<table id="tableID">
<tbody>
</tbody>
</table>
JAVASCRIPT
// Reference to the table body
var body = $("#tableID").find('tbody');
// Create a new row element
var row = $('<tr>');
// Create a new column element
var column = $('<td>');
// Create a new image element
var image = $('<img>');
image.attr('src', 'img.png');
image.text('Image cell');
// Append the image to the column element
column.append(image);
// Append the column to the row element
row.append(column);
// Append the row to the table body
body.append(row);
4 Stimmen
Vielen Dank, Ash. Ich bin auch gerade lernen jQuery und finden es schwer, herauszufinden, den besten Weg, vor allem einfache Dinge. Der Grund, warum sie als 2 Fragen sind, ist, weil ich eine gepostet und dann fast eine Stunde später erkannte ich, dass ich die andere in gesetzt haben sollte und dachte nicht, ich sollte die erste ändern.
33 Stimmen
Aus diesem Grund: google.com/search?q=jquery+add+table+row
19 Stimmen
FYI - Vermeiden Sie die Verwendung mehrerer Anhänge (verlangsamt die Leistung enorm), sondern bauen Sie Ihre Zeichenfolge oder verwenden Sie JavaScript join, die viel schneller ist.
1 Stimmen
Siehe: stackoverflow.com/a/50365764/7186739
2 Stimmen
Nur für den Fall, dass die Zeile zu komplex ist, was ich tue, ist, halten Sie die erste Zeile mit der erforderlichen Struktur versteckt, machen Sie einen Klon und ändern Sie den Text und fügen Sie nach der ersten Zeile, auf diese Weise, wenn Sie Daten aus Ajax-Antwort holen Ihre Tabelle erstellt werden, erinnern Sie sich Klon es außerhalb der Schleife, dann verwenden Sie es, um den Inhalt innerhalb der Schleife zu ändern. $("#mainTable tbody").append(row); row ist die modifizierte Kopie des Klons :)