如何使用jquery获取表之前的div的id

时间:2013-07-25 12:46:08

标签: javascript jquery

我有一个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

3 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:0)

你可以试试这个

.live()在v1.7中折旧并在v1.9中删除。因此,请使用.on()

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

选中此JSFiddle

答案 2 :(得分:0)

看看这个......

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

$('table tr td').click(function(e){
    var divId = $(this).closest('div').attr('id');
    alert(divId);
 });