2012-11-27 67 views
0

的更優雅的方式我有一個表,看起來基本上是這樣的:尋找寫這篇

​<table id="mytable"> 
    <tbody> 
     <tr id="tempRowID"> 
      <td class="delete"> <img src="myImage.png" /> </td> 
     </tr> 
    </tbody> 
</table>​​​​​​​​​​​​​​​​​​​ 

我需要把該表ID到一個變量被點擊時,IMG。此功能工作,但似乎醜陋與所有父()跳躍:

$(document).on('click', 'table td', function() { 

    var currentTable = $(this).parent().parent().parent().attr("id"); 

}); 

我曾嘗試:

var currentTable = $(this).eq(3).attr("id"); 
    var currentTable = $(this).find("table").attr("id"); 

有什麼建議?

+2

'$(本).closest( '表')。ATTR( '身份證')' – Shmiddty

+0

http://api.jquery.com/closest/ – elclanrs

+0

可能更多的是對代碼審查,而不是SO問題。 .. – ahren

回答

2

使用.closest拿到這是一個table最接近的祖先。

var currentTable = $(this).closest("table").attr("id"); 
1

如何使用.closest()

var currentTable = $(this).closest('table').attr("id"); 
1

使用.closest()方法

var currentTable = $(this).closest('table').attr("id");