我有以下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>
Run Code Online (Sandbox Code Playgroud)
现在我想通过jquery插入一个新的tr.因此,将从处理php页面生成一个id.让id为11.所以我必须在id小于11的tr之后插入它.这里的tr是id 9.问题是如何找到id小于生成id的closet tr(这里11)?
您可以使用filter()查找小于所需tr元素的元素id,然后使用last()它们中的最高元素,最后after()添加新表格行的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);
Run Code Online (Sandbox Code Playgroud)