如何使用jquery找到以前的td元素

时间:2015-12-10 08:54:51

标签: jquery html-table

我有一张这样的表

alert($("#space_bet3").prev().prev().attr("id"))  // undefined error
alert($("#space_bet3").prev("#space_bet2").attr("id"))  // undefined error

我想在space_bet3之前找到td,我试过prev()方法但是它无论如何都不起作用

$('div.panel-heading').addClass('unread').removeClass('ifyouneedany');

我做错了什么?如何在space_bet3之前找到id,谢谢

2 个答案:

答案 0 :(得分:2)

由于元素<td>之前没有兄弟(#space_bet3),因此prev()将返回空集。

  1. 获取<tr>祖先
  2. 获取之前的<tr>兄弟
  3. 让孩子<td>
  4. 获取id属性值。
  5. <强>码

    $('#space_bet3')
        .closest('tr') // Get first ancestor `<tr>` element
        .prev() // Get previous element
        .children('td') // Get direct descendant `<td>` element
        .attr('id'); // Get `id` of the element
    

    var id = $('#space_bet3')
      .closest('tr') // Get first ancestor `<tr>` element
      .prev() // Get previous element
      .children('td') // Get direct descendant `<td>` element
      .attr('id'); // Get `id` of the element
    
    console.log(id);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <table>
      <tr>
        <td id="space_bet1" height="10"></td>
      </tr>
      <tr>
        <td id="unscr1">Today</td>
      </tr>
      <tr>
        <td id="space_bet2" height="10"></td>
      </tr>
      <tr>
        <td id="unscr2">Tomorrow</td>
      </tr>
      <tr>
        <td id="space_bet3" height="10"></td>
      </tr>
      <tr>
        <td id="unscr3">Yesterday</td>
      </tr>
      <tr>
        <td id="space_bet4" height="10"></td>
      </tr>
      <tr>
        <td id="unscr4">next week</td>
      </tr>
      <tr>
        <td id="space_bet5" height="10"></td>
      </tr>
      <tr>
        <td id="unscr5">next month</td>
      </tr>
      <tr>
        <td id="space_bet6" height="10"></td>
      </tr>
    </table>

答案 1 :(得分:0)

您可以尝试以下方法: -

$('#space_bet3').parent('tr').prev().find('td').attr("id");

它可能对你有帮助。