我有以下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)?
答案 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);