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

此外,你的问题不太清楚,但希望上面的链接涵盖所有基础