Sé que es llegar tarde, pero para aquellas personas que quieren poner en práctica puramente mediante el JavaScript
, aquí es cómo puede hacerlo:
- obtener la referencia a la corriente
tr
que se ha hecho clic.
- Crea un nuevo elemento DOM
tr
.
- Agréguela al referido nodo padre
tr
.
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>
En 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;
}
Esto añadirá la nueva fila de la tabla exactamente debajo de la fila en la que se hace clic en el botón.
no es lo mismo, pero está relacionado con http://stackoverflow.com/questions/171027/add-table-row-in-jquery –