我在这里动态生成的html表是结构
row 1 headings
row 2 headings
all dynamic rows such as values with text boxes and select boxes
last row with add button
last row with another button
现在在上表中我如何获取最后一个动态行html内容,这样当我点击一个按钮时,我可以添加一个与前一行相同的新行。我尝试了很多语句如何获取表中的最后一个动态行内容,即2个按钮之前
tr= $("#Tbl tr:last").html(); //outputs row with add button only but looking for last dynamic row before the add button
答案 0 :(得分:2)
假设你有这个结构
<table id="mytable">
<thead>
<tr>...</tr>
<tr>...</tr>
</thead>
<tbody>
<tr>...</tr>
....
<tr>...</tr>
</tbody>
<tfoot>
<tr><button id="add">Add</button></tr>
<tfoot>
</table>
要将最后一行的副本添加到表中,请执行以下操作(未经测试)
$(function() {
$("#add").click(function() {
var $table = $("#mytable tbody"),
lastRow = $table.find("tr:last-child");
$table.append(lastRow.clone());
});
});
希望这有帮助。
答案 1 :(得分:1)
使用tbody
保存动态行,使用tfoot
保存带有按钮控件的底行,然后在tbody
内搜索最后一行
答案 2 :(得分:0)
也许您想要将非动态行从tr
更改为thead
和tfoot
,所以当您获得最后一个tr
时,您可以获得一个你想要
检查一下:http://jsfiddle.net/FuHuT/
请注意,最后一个tr
元素为红色
答案 3 :(得分:0)
凭借你所拥有的,我认为.prev
就是你所需要的。 :last
选择器将为您提供带按钮的最后一行,.prev
将为您提供按钮前的最后一行。
tr= $("#Tbl tr:last").prev().html();
理想情况下,最好将控制按钮置于tfoot
内,然后在这种情况下,您只需使用$("#Tbl tbody tr:last")
这将是最后一个动态行。