将一行添加到表中,但在两个tr之后

时间:2013-08-12 15:34:55

标签: javascript jquery

我在表格前面添加一行。但是,我的表顶部有几个TR,其中有行列名等。当我在前面添加一个新行时,我希望在这两个TR之后添加它。这可行吗?

我在这个新行前面加上:

var newrow = "<tr><td>...</tr></td>";
var grid = $('mygrid');
grid.prepend(newrow); I want this prepend to be after two TR's of the grid

4 个答案:

答案 0 :(得分:4)

为什么不将标题包装在<thead>内,将表格包裹在<tbody>内,然后可以将该行添加为<tbody>内的第一个元素。这将使您的jQuery保持简单,并且您的HTML在语义上也更正确。

答案 1 :(得分:0)

您可以使用nth-of-type选择器查找myGrid的第二行,然后使用jQuery的insertAfter()函数在表格的第二行之后添加新行:

$('#mygrid tr:nth-of-type(2)').insertAfter(newRow);

答案 2 :(得分:0)

$(newrow).insertAfter("tr:nth-child(2)",grid); //assuming grid is the table

答案 3 :(得分:0)

安东尼,

为什么不使用thead和tbody标签来分离你的桌头和桌子。然后你可以将行添加到tbody的子节点。请参阅以下内容。

    <table>
      <thead>
        <tr><th>aaa</th><th>bbb</th></tr>
        <tr><th>xxx</th><th>yyy</th></tr>
      </thead>
      <tbody>
        <tr><td>stuff</td><td>things</td></tr>
        <tr><td>stuff</td><td>things</td></tr>
      </tbody>
      <tfoot>
      </tfoot>
    <table>

此致

彼得