jquery - 获取最近div的id?

maa*_*aaz 8 javascript jquery

嗨,我有一张车辆列表

 <table>
 <tr class="${(i % 2) == 0 ? 'odd' : 'even'}" id ="rows">
   <td>
      <div class="check_box_div">
       <div class="check_box_list">
         <g:checkBox id = "isActive_${i}" class="isActive" name="isActive"  value="${vehicleInstance?.isActive}" />
          <input type="hidden" value="${vehicleInstance?.id}" class="vehicleId" name="vehicleId" id="isActive_${i}_" />
        </div>
       <div class="display_image" id ="display_image_${i}"></div>
      </div>    
    </td>

  </tr>
Run Code Online (Sandbox Code Playgroud)

table有很多行,我想得到div的id,其中每个行的类名是" display_image ",我试图让它像

   $(".isActive").click(function() {
     var checkBox_id = $(this).attr("id");
     var checkbox = $('#'+checkBox_id);
     var div_id =$('#'+checkBox_id).closest("div").find(".display_image").attr("id"); // always returns div_id =display_image_0(div id of first row)
Run Code Online (Sandbox Code Playgroud)

这适用于第一行,但对于第二行,它也只返回第一行div的id,我应该做的更改是什么,这样我将获得每行div的id

Aln*_*tak 16

向上直到找到行,然后再向下找到显示图像:

$(".isActive").click(function() {
    var div_id = $(this).closest('tr').find('.display_image').attr(id);
    // ...
});
Run Code Online (Sandbox Code Playgroud)

请注意,这完全不依赖于原始元素的ID - 只是DOM中元素的布局.

更优化的解决方案是可能的,但是无论每行中的元素.isActive.display_image元素的相对位置如何,这个解决方案都是可行的.