使用jquery在表的中间插入行

时间:2015-11-02 08:42:31

标签: jquery

我想在表格的头部后面的表格的开头插入一行。方法prepend()对我没有多大帮助,因为在头部之前插入并且之前和之后的方法也没有帮助我。 这是我的表:

<table id="info_table" data-striped="true">
            <tr class="prima">
               <td>Id</td>
               <td>Person</td>
               <td>Time</td>
               <td>Instructions</td>
               <td>Von</td>
               <td>Bis</td>
           </tr>
    </table>

我插入一行<tr>,之后,我的第二行应该直接在表格的头部之后。

var tds = '<tr id="tr" class="data">';
tds += '<td><select></select></td>';        
tds += '<td>'+name+'</td>';
tds += '<td>+time+</td>';
tds += '<td><input type="text" value=""></td>';
tds += '<td></td>';
tds += '<td></td>';
tds += '</tr>';

$("#info_table").append(tds);

我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

如果您想在middle尝试after eq(index)中插入

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  var name="some body";
	$("#info_table > tr").length;//> tbody
var tds = '<tr id="tr" class="data">';
tds += '<td><select></select></td>';        
tds += '<td>'+name+'</td>';
tds += '<td>+time+</td>';
tds += '<td><input type="text" value=""></td>';
tds += '<td></td>';
tds += '<td></td>';
tds += '</tr>';
$('#info_table > tbody > tr').eq(parseInt($("#info_table > tbody > tr").length/2)-1).after(tds);
});

</script>

	<table id="info_table" data-striped="true">
    <tr class="prima">
       <td>Id</td>
       <td>Person</td>
       <td>Time</td>
       <td>Instructions</td>
       <td>Von</td>
       <td>Bis</td>
   </tr>
      <tr class="prima">
       <td>Id</td>
       <td>Person</td>
       <td>Time</td>
       <td>Instructions</td>
       <td>Von</td>
       <td>Bis</td>
   </tr>
</table>

答案 1 :(得分:1)

这里试试这个:

// #info_table tr:eq(0) --> first table row(head)
$(tds).insertAfter('#info_table tr:eq(0)');

答案 2 :(得分:1)

试试这个

$("#info_table tr:first").after(tds); // as your first tr is head then it'll append after that