javascript - last - jquery append first
jquery: usando appendTo en la segunda a la Ășltima fila de la tabla (9)
Tengo una parte del DOM que me gustaría insertar en mi página. Actualmente solo estoy usando a ciegas:
$(myblob).appendTo(someotherblob);
¿Cómo hago lo mismo, pero agrego myblob a la segunda a la última fila que está dentro de algún otro blob? someotherblob en este caso es una tabla y quiero inyectar una fila sobre la segunda hasta la última.
Creo que desea agregar una fila por cada fila de la tabla entre la segunda y la última fila.
en este caso intente:
var rows=someotherblob.find("TR");
var nrows=rows.length;
rows.slice(1,(nrows-2)).each(function(){
$(this).append(myblob);
})
Recientemente puse un código en línea que te ayuda a lidiar con las modificaciones de la tabla:
http://notetodogself.blogspot.com/2009/08/javascript-insert-table-rows-table-body.html
Además, su pregunta no es demasiado clara, pero esperamos que el enlace anterior cubra todas las bases
También puede seleccionar la fila por selector de índice.
$(''#mytable tr'').eq(-1).before("<tr><td>new row</td></tr>")
Aquí eq se usa para seleccionar la última fila. eq
es índice cero y el índice negativo comienza desde el último. así que usé -1
en el índice.
Tan simple como esto:
$("#TableName tr:last").prev().before("<tr><td>Hello World</td></tr>");
Tenga en cuenta que con antes () los elementos ya deben estar insertados en el documento (no puede insertar un elemento antes que otro si no está en la página).
Así que tienes que insertar someotherblob primero:
$(''selector to insert someotherblob at'')
.append(someotherblob)
.find(''table tr:last'')
.prev()
.before(myblob);
Un poco de un tiro en la oscuridad, pero supongo que tienes un pie de página, o tal vez incluso una entrada de datos, en la parte inferior de una tabla, y quieres agregar filas a los datos, antes del pie de página. En ese caso, debes reestructurar tu tabla a esto:
<table id="myTable">
<thead>
<tr><!-- header row(s) --></tr>
</thead>
<tfoot>
<tr><!-- footer row(s) --></tr>
</tfoot>
<tbody>
<tr><!-- exciting and possibly dynamically inserted data goes here --></tr>
</tbody>
</table>
Sí, tbody
viene después de tfoot
. Wierd, ¿eh?
Entonces simplemente puedes usar esto:
$("#myTable tbody").append(newrow);
$(''#mytable tr:last'').before("<tr><td>new row</td></tr>")
$(''#mytable tr:last'').prev().after("<tr><td>new row</td></tr>")
Agradezco con respuesta dada por cual fue esta .
Lo intenté y descubrí que la columna requerida se desplazaba literalmente por encima de la tabla de enitre. Es porque no uso la etiqueta thead para la columna de encabezado. Una vez más comencé a buscar la respuesta y encontré mi propia solución.
Así que aquí está: En mi caso, se requería mostrar el total general de todas las entradas que llegaban en cada columna de tipo de número único. No me fue posible realizar cálculos a menos que todas las filas se completen al vuelo.
HTML:
<tr class="gTotal">
<th colspan="4" class="head">Grand Total</th>
<th><?php echo $grandTtlResumeSntCnt; ?></th>
<th><?php echo $grandTtlEvalCnt; ?></th>
<th><?php echo $grandTtlUniqEvalCnt; ?></th>
<th><?php echo $grandTtlResCnt; ?></th>
<th><?php echo $grandTtlUniqResCnt; ?></th>
</tr>
</table>
Jquery:
$(''.gTotal'').insertBefore(''table>tbody>tr:nth-child(2)'');
Déjame saber si respondo a tu pregunta .