如何获得小于数字的tr的id

时间:2015-08-06 07:56:35

标签: jquery html-table

我有以下html表格布局:

<table border="1" id="staff">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr id="1">
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr id="2">
    <td>Berglunds snabbköp</td>
    <td>Christina Berglund</td>
    <td>Sweden</td>
  </tr>
  <tr id="5">
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr id="8">
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr id="9">
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr id="12">
    <td>Königlich Essen</td>
    <td>Philip Cramer</td>
    <td>Germany</td>
  </tr>
  <tr id="13">
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
 <tr id="15">
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
  <tr id="16">
    <td>North/South</td>
    <td>Simon Crowther</td>
    <td>UK</td>
  </tr>
</table>

现在我想通过jquery插入一个新的tr。因此,将从处理php页面生成一个id。让id为11.所以我必须在id小于11的tr之后插入它。这里的tr是id 9.问题是如何找到id小于生成id的closet tr(这里11)?

1 个答案:

答案 0 :(得分:7)

您可以使用filter()查找tr元素,其中id小于所需元素,然后使用last()获取最高元素,最后after() 1}}添加新表行的HTML。试试这个:

var rank = 11; // calculate this as needed...
var newRow = '<tr><td>The new row HTML...</td></tr>';

$('#staff tr').filter(function() {
    return this.id < rank;
}).last().after(newRow);

Example fiddle