2013-06-27 87 views
1

這是我的代碼:獲取jQuery對象

<tr><td><a href="javascript:void(0);" onclick="showObj(this);"></a></td></tr> 

function showObj(object){ 
    var row = $(object).closest('tr'); 
} 

,它表明這個錯誤

Uncaught TypeError: Object [object HTMLAnchorElement] has no method 'closest'

我如何才能元素更改爲jQuery對象或如何指向錶行中這是這個錨點擊?

謝謝。

+0

我忘記了jQuery庫包含當然:) – quarky

+0

如果你使用的jQuery版本的代碼工作> = 1.3,我希望是這種情況 –

+0

看到這裏http://jsfiddle.net/kP6jB/根據烤 –

回答

4

的一種方式更清潔的方法是給你的表中的ID和使用jQuery選擇這樣得到的行:

$("#table tr td a").click(function(e) { 
    e.preventDefault(); 
    var row = $(this).closest('tr'); 
}); 

而且你的HTML:

<table id="table"> 
    <tr><td><a>Link 1</a></td></tr> 
    <tr><td><a>Link 2</a></td></tr> 
</table> 

編輯: 你也可以使用jQuery的父母()而不是最接近的(),如:

var row = $(object).closest('tr'); 

而不是

var row = $(object).parents('tr'); 
+0

工作JSFiddle:http://jsfiddle.net/Tumtum/8K9WC/ – Tumtum

+0

肯定它更清潔 –

+0

我只想得到另一種解決方案。我知道如.click,.bind,.on,.delegate等綁定事件...但我需要知道如何將HTML元素更改爲jQuery。這是主要問題。 – quarky