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