我有一个看起来像这样的表:

<table>
  <tr>
    <td class='class1' id='id1'></td>
    <td class='class2' id='id2'></td>
    <td class='class3' id='id3'></td>
    <td class='class4' id='id4'><button id='editButton'></button></td>
  </tr>
  <tr>
    <td class='class1' id='id1'></td>
    <td class='class2' id='id2'></td>
    <td class='class3' id='id3'></td>
    <td class='class4' id='id4'><button id='editButton'></button></td>
  </tr>
</table>


下面的代码向我显示id4

$("#editButton").on("click", function(){
   alert($(this).parent().attr("id"));
});


现在我需要到达最接近的id3。函数.next('class3').closest('class3')不能帮助我,或者我以错误的方式使用它们。请帮我

最佳答案

1:ID必须是唯一的

所以你的代码应该喜欢

<table>
  <tr>
    <td class='class1' id='id1'></td>
    <td class='class2' id='id2'></td>
    <td class='class3' id='id3'></td>
    <td class='class4' id='id4'><button class="editButton"></button></td>
  </tr>
  <tr>
    <td class='class1' id='id5'></td>
    <td class='class2' id='id6'></td>
    <td class='class3' id='id7'></td>
    <td class='class4' id='id8'><button class="editButton"></button></td>
  </tr>
</table>


和在js中

$(".editButton").on("click", function(){
   alert($(this).closest('tr').find('td:nth-child(3)').attr("id"));
});

10-07 21:49