2014-03-27 54 views
2

我有一張表,我正在使用jQuery數據表API。在該表中的一些單元格中,我有類adder的鏈接。當用戶點擊該鏈接時,我需要獲取該行的索引位置,以便我可以進行一些處理。我使用下面的代碼來測試它:有關fnGetPosition的數據表問題

$('.adder').click(function() { 
    alert(searchTable.fnGetPosition($(this).parent().parent())); 
    return false; 
}); 

我基於API文檔上的期望是,這將提醒有關行的索引。 a元素的父元素應該是td元素,並且其父元素是tr元素。但是,當我點擊其中一個鏈接時,實際發生的情況是整個表格只是令人耳目一新。沒有出現在JavaScript控制檯中...

有什麼想法?

回答

5

這是因爲父級的父級是jQuery對象而不是tablerow元素或表格元素。既然它看起來你想要表格行元素,那麼我會做這樣的事情。

$('.adder').click(function() { 
    alert(searchTable.fnGetPosition($(this).parent().parent()[0])); 
    return false; 
}); 

這是這個api調用的documentation以及如果你錯過了它。

+0

顯然,這是正確的答案。然而,我想知道你是否可以給我多一點信息,說明爲什麼jQuery對象不等於已被選中的元素? jQuery對象還有什麼? –

+0

[按照jQuery的文檔](http://api.jquery.com/Types/#jQuery) - *** jQuery對象包含已從HTML字符串創建或選定的文檔對象模型(DOM)元素的集合從一個文檔***我絕對推薦閱讀jQuery對象的文檔,以瞭解有什麼。 – JustinMichaels

+0

有趣...所以,即使你選擇了一個單一的DOM元素,jQuery對象是或多或少的長度爲1的元素數組。謝謝! –