如何获得小于数字的tr id

时间:2015-08-06 23:48:25

标签: jquery

我有以下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 id。假设,数字是11,所以小于11的id是9,如果数字是7,那么id是5.我正在尝试如下:

var rank = 5;
var target_id = $('#staff tr').filter(function() {
    return this.id < rank;
}).last();

alert(target_id);

但它不起作用。它显示“对象对象”。在这种情况下如何获得tr id。

2 个答案:

答案 0 :(得分:3)

target_id是一个jQuery对象,因此您应该评估其ID属性以获取其ID,即target_id.attr('id')。此外,您应该使用parseInt()将ID转换为安全的整数,并允许进行比较:

var rank = 5;
var target_id = $('#staff tr').filter(function() {
    return parseInt(this.id, 10) < rank;
}).last().attr('id');

alert(target_id);

答案 1 :(得分:0)

将其更改为

var rank = 5;
var target_id = $('#staff tr').filter(function() {
    return this.id < rank;
}).last().attr('id');

alert(target_id);

原始的只返回(已过滤的)行