2013-05-20 42 views
0

我正在jquery中構建一個插件。正如他們在文檔中所說的,這引用了一個jquery對象。因此您可以執行.each(),然後返回與插件構造函數中一樣多的對象。 但是,這個插件返回一個標量值,所以我只能對第一個對象起作用。獲取jquery中只有一個對象的最佳方法

如果我想從jquery可能的對象數組中獲得第一個元素,那麼您認爲最好的方法是什麼?

$.fn.totalWidth = function(element){ 
    $this = $(this.get(0)); //option 1 
    //OR 
    $this = this.first(); //option 2 
}); 

我會感激你的觀點。

+0

只是猜測這裏...但得到(0)似乎假定數組中存在項目。如果不是,它會返回一個索引超出範圍。 。首先可以編碼檢查,並順利返回,這是我的偏好。 – Scottie

+0

@Scottie - 如果沒有第一個元素,就無法真正鏈接插件,所以隱含了很多東西。 – adeneo

回答

1

裏面的插件範圍,

this.first() 

this.eq(0) 

將獲得的第一個元素的最佳途徑,因爲this引用的插件jQuery對象,而一點兒也不具有重新包裝。使用.get()來獲取本地元素只是爲了重新包裝它似乎是不必要的。

1

$ this = $(this.get(0));將檢索與查詢匹配的dom元素,其中first()將爲您提供jquery對象。

如果你想這樣做的結果對象jQuery的操作,那麼選項2 去如果你想純JavaScript DOM對象去選擇1

相關問題