使用jQuery在<td>中找到parent div

zos*_*sim 6 jquery

如何在表格中找到div的父ID?我有以下结构:

<div id="parent">
<table>
<tbody>
  <tr>                                             
   <td>                                     
     <div id="child" >      
 </div>
   </td>                    
 </tr>        
</tbody>
</table>
</div> 


<script type="text/javascript">  
$(document).ready(function() 
{               
   var parent = $("#child").parent().attr("id");
   alert(parent);
});   
Run Code Online (Sandbox Code Playgroud)

当div在<td>内时,parent为空.当我把div移到<td>之外时它运行正常.你能帮我找到里面的div吗?

谢谢

sal*_*iza 10

您可以使用.closest(),它找到与指定选择器匹配的最近父级.在你的情况下:

 var parentId = $('#child').parent().closest('div').attr('id');
Run Code Online (Sandbox Code Playgroud)

文档:http://api.jquery.com/closest/


Joh*_*hnP 5

如果你的意思是想要找到包含你的表的DIV的ID,那么你可以使用nearest()

var parent = $("#child").parent().closest('div').attr("id");
Run Code Online (Sandbox Code Playgroud)

小提琴

编辑

阅读文档后,closest()最好不要parents()因为它不会到达根节点.感谢Andy E的抬头