2013-08-20 31 views
1

我想知道什麼是這2個陣列的權利名稱:正確的名稱,以這些陣列

//html 
<div></div> 
<div></div> 
<div></div> 

// javascript/jquery 
var all = $('div'); 
console.log(all);   //array 1 
console.log(all.get()); //array 2 

陣列1 - 對象數組?
數組2 - 元素數組?

Fiddle(如果需要)

回答

4

第二個是DOM元素的數組,是的。但第一個是一個jQuery對象。它模仿一個數組,並作爲元素集合的包裝器,使您可以在一行上一次在一行上調用jQuery方法(例如.css())。

+0

好的,現在更清晰了。我在「jQuery對象」中嘗試了一些數組方法,但沒有成功。現在我明白不是一個數組... – Rikard

+0

它不是一個數組,所以你不能直接使用數組方法。但由於它是數組式的,你仍然可以間接使用它們中的大部分。例如,'Array.prototype.pop.call($('div'))'會從jQuery對象彈出。 – bfavaretto

1

Array 1

這是一個jQuery包裹數組。 jQuery的捆綁起來你發現爲一個陣列的DOM元素,但它們在操作所述陣列增加了幾個性質和功能的陣列,用於方便進一步

陣列2

當調用獲得()你正在只有DOM元素的數組。你不能在這個數組上調用類似.find()等的jQuery函數。