0

我有一个div,它table像以前一样包含

  <div id='divid'>
     <table>
       <tbody>
          <tr id="clicktr">
             <td> Some content</td>             
          <tr>
      </tbody>
      </table>
  </div>

javascript代码:

  $("#clicktr").live('click',function(e){
       console.log($(this).parent().parent().attr('id'));
  });

在行上单击我想获取 div 的 id 我怎么能得到它。但我无法获得 div 的 id

4

3 回答 3

4

您想使用.closest()。这将遍历 DOM 树以找到 div 的第一个实例。

您还应该使用.on()因为.live()方法已被弃用。

$('table').on('click', '#clicktr', function(){
    var ID = $(this).closest('div').attr('id');
}); 

另一方面,如果有多个表和 div,您不想为tr使用相同的 ID ,而是使用一个类。

于 2013-07-25T12:47:18.930 回答
0

你可以试试这个

.live()在 v1.7 中被贬值并在 v1.9 中被删除。所以使用.on()

$("#clicktr").on('click',function(){
       console.log($(this).parent().closest('div').attr("id"));
});

检查这个JSFiddle

于 2013-07-25T12:52:02.967 回答
0

看看这个...

jsFiddle:http: //jsfiddle.net/K3Xy6/1/

$('table tr td').click(function(e){
    var divId = $(this).closest('div').attr('id');
    alert(divId);
 });
于 2013-07-25T12:54:48.710 回答