【发布时间】:2009-10-29 17:02:38
【问题描述】:
我有一块 DOM 想要插入到我的页面中。目前我只是在盲目使用:
$(myblob).appendTo(someotherblob);
我该如何做同样的事情,但将 myblob 附加到 someotherblob 内的倒数第二行。在这种情况下 someotherblob 是一个表,我想在倒数第二个上方注入一行。
【问题讨论】:
标签: javascript jquery
我有一块 DOM 想要插入到我的页面中。目前我只是在盲目使用:
$(myblob).appendTo(someotherblob);
我该如何做同样的事情,但将 myblob 附加到 someotherblob 内的倒数第二行。在这种情况下 someotherblob 是一个表,我想在倒数第二个上方注入一行。
【问题讨论】:
标签: javascript jquery
$('#mytable tr:last').before("<tr><td>new row</td></tr>")
【讨论】:
您也可以通过索引选择器选择行。
$('#mytable tr').eq(-1).before("<tr><td>new row</td></tr>")
这里eq用于选择最后一行。 eq 是零索引,负索引从最后开始。所以我在索引中使用了-1。
【讨论】:
请注意,使用 before() 元素必须已经插入到文档中(如果页面中没有元素,则不能在另一个元素之前插入该元素)。
所以你必须先插入一些其他blob:
$('selector to insert someotherblob at')
.append(someotherblob)
.find('table tr:last')
.prev()
.before(myblob);
【讨论】:
我试过了,发现所需的列确实移到了整个表的上方。这是因为我不使用 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)');
如果我回答你的问题,请告诉我。
【讨论】:
$('#mytable tr:last').prev().after("<tr><td>new row</td></tr>")
【讨论】:
我想你想在第二行和最后一行之间为表格的每一行添加一行。
在这种情况下尝试:
var rows=someotherblob.find("TR");
var nrows=rows.length;
rows.slice(1,(nrows-2)).each(function(){
$(this).append(myblob);
})
【讨论】:
有点摸不着头脑,但我猜您在表格底部有一个页脚,甚至可能是数据条目,并且您想在数据之前添加行页脚。在这种情况下,您应该将表重组为:
<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 之后。很奇怪吧?
那么你可以简单地使用这个:
$("#myTable tbody").append(newrow);
【讨论】:
就这么简单:
$("#TableName tr:last").prev().before("<tr><td>Hello World</td></tr>");
【讨论】:
我最近在网上放了一些代码,可以帮助你处理表格修改:
http://notetodogself.blogspot.com/2009/08/javascript-insert-table-rows-table-body.html
另外,你的问题不太清楚,但希望上面的链接将涵盖所有基础
【讨论】: