获取动态表行(TR)html

时间:2012-03-09 19:12:54

标签: jquery jquery-ui jquery-selectors

我在这里动态生成的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 

4 个答案:

答案 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更改为theadtfoot,所以当您获得最后一个tr时,您可以获得一个你想要

检查一下:http://jsfiddle.net/FuHuT/ 请注意,最后一个tr元素为红色

答案 3 :(得分:0)

凭借你所拥有的,我认为.prev就是你所需要的。 :last选择器将为您提供带按钮的最后一行,.prev将为您提供按钮前的最后一行。

DEMO

tr= $("#Tbl tr:last").prev().html();

理想情况下,最好将控制按钮置于tfoot内,然后在这种情况下,您只需使用$("#Tbl tbody tr:last")这将是最后一个动态行。