我有一块DOM,我想插入到我的页面中。目前我只是盲目地使用:
$(myblob).appendTo(someotherblob);
我如何做同样的事情,但是将myblob追加到someotherblob中的倒数第二行。在这种情况下someotherblob是一个表,我想在第二个上面注入一行到最后一个。
答案 0 :(得分:72)
$('#mytable tr:last').before("<tr><td>new row</td></tr>")
答案 1 :(得分:2)
您也可以按索引选择器选择行。
$('#mytable tr').eq(-1).before("<tr><td>new row</td></tr>")
此处eq用于选择最后一行。 eq
是零索引,负索引从最后开始。所以我在索引中使用-1
。
答案 2 :(得分:1)
请注意,使用before()时,必须已将元素插入到文档中(如果元素不在页面中,则无法在另一个元素之前插入元素。)
所以你必须先插入someotherblob:
$('selector to insert someotherblob at')
.append(someotherblob)
.find('table tr:last')
.prev()
.before(myblob);
答案 3 :(得分:1)
我尝试了一下,发现所需的列字面上移动到了enitre表之上。这是因为我没有为标题列使用 thead 标记。我再一次开始挖掘答案并提出了我自己的解决方案。
所以这就是:在我的场景中,需要显示每个数字类型列中所有条目的总计。除非所有行都是动态填充的,否则我无法进行计算。
<强> 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)');
如果我回答你的问题,请告诉我。
答案 4 :(得分:1)
$('#mytable tr:last').prev().after("<tr><td>new row</td></tr>")
答案 5 :(得分:0)
我最近在网上放了一些代码来帮助你处理表修改:
http://notetodogself.blogspot.com/2009/08/javascript-insert-table-rows-table-body.html
另外,你的问题不太清楚,但希望上面的链接涵盖所有基础
答案 6 :(得分:0)
我想你想在de second和last row之间的每一行中添加一行。
在这种情况下尝试:
var rows=someotherblob.find("TR");
var nrows=rows.length;
rows.slice(1,(nrows-2)).each(function(){
$(this).append(myblob);
})
答案 7 :(得分:0)
在黑暗中拍摄一下,但我猜你在桌子的底部有一个页脚,甚至可能是数据输入,并且你想在数据之前添加行,页脚。在这种情况下,您应该将表重组为:
<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>
是的,tbody
确实在tfoot
之后。 Wierd,是吗?
然后你可以简单地使用它:
$("#myTable tbody").append(newrow);
答案 8 :(得分:0)
这很简单:
$("#TableName tr:last").prev().before("<tr><td>Hello World</td></tr>");