Ich weiß, es kommt spät, aber für diejenigen, die es rein mit der JavaScript
implementieren möchten, hier ist, wie Sie es tun können:
- den Verweis auf die aktuelle
tr
erhalten, die angeklickt wird.
- Erstellen Sie ein neues
tr
DOM-Element.
- Fügen Sie es dem angegebenen übergeordneten Knoten
tr
hinzu.
HTML:
<table>
<tr>
<td>
<button id="0" onclick="addRow()">Expand</button>
</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
</tr>
<tr>
<td>
<button id="1" onclick="addRow()">Expand</button>
</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
</tr>
<tr>
<td>
<button id="2" onclick="addRow()">Expand</button>
</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
<td>abc</td>
</tr>
In JavaScript:
function addRow() {
var evt = event.srcElement.id;
var btn_clicked = document.getElementById(evt);
var tr_referred = btn_clicked.parentNode.parentNode;
var td = document.createElement('td');
td.innerHTML = 'abc';
var tr = document.createElement('tr');
tr.appendChild(td);
tr_referred.parentNode.insertBefore(tr, tr_referred.nextSibling);
return tr;
}
Dies wird die neue Tabellenzeile genau unterhalb der Zeile hinzufügen, auf dem die Schaltfläche geklickt wird.
nicht das gleiche, aber im Zusammenhang mit http://stackoverflow.com/questions/171027/add-table-row-in-jquery –