2014-04-04 70 views
0

任何人都可以告訴我以下幾行返回的對象之間的區別嗎?JOuery對象與元素對象

我知道的第一行返回ID =「divID」的元素對象。 我認爲第二個做相同的,但得到的對象從彼此的行爲不同..

在我以爲domObject相當於jqObject換句話說...

var domObject = document.getElementById("rowID"); 
var jqObject = $("#rowID"); 
+2

沒有.. jQuery對象是一個dom對象的包裝 –

+0

技術上你的第二個例子不會做bupkis,因爲你缺少標識符周圍的引號。 – j08691

+0

$(「#rowID」)將返回該元素,但用jquery對象包裝它...它們引用相同的元素,但jQuery對象通常更容易處理... – user3334690

回答

0

第一個回報一個DOMElement使用瀏覽器的內置方法。 - Javascript

第二個返回一個jQuery對象與該行作爲其唯一成員。你可以在對象上使用jQuery函數來操作它。 - jQuery的

-1

他們應該是一樣的,問題可能是你沒有圍繞#rowID

報價試試這個: VAR jqObject = $( 「#ROWID」);

0

var domObject = document.getElementById(「rowID」);

這將返回其暴露本地JavaScript API(由當前ECMAScript Specification所定義)的對象和DOM API(在w3.org可用詳情)。

var jqObject = $(「#rowID」);

這將返回一個暴露jQuery API的對象。 jQuery使用一組可用的函數創建一個對象。它還使用該對象上的索引數組,該對象將匹配元素的集合保存到選擇器。使用的選擇器匹配css選擇器,在這種情況下匹配id「rowID」,如果匹配類「.rowClass」,那麼它將返回匹配該類的數組中的一組元素。這些元素可以通過jQuery對象上的索引來訪問,jqObject [0]是第一個,[1]第二個(如果存在)等。

以這種方式提取元素將返回native元素。這個本地元素可以以許多不同的方式被引用。例如,它通常分配給this變量。

$("#rowID").each(function(){ 
var nativeElement = this;//same as domObject 
}); 

$("#rowId").click(function(){ 
var nativeElement = this;//same as domObject 
}); 
1

的區別在於,一個是jQuery對象,而另一個不是。 jQuery objects have their own methods

但是,它們是內轉換的。您可以通過使用.get()或只是[number]提取jQuery對象單一的DOM元素:

var domObject = $jqObject[0]; 

要反過來做,只是把它包在jQuery函數:

var $jqObject = $(domObject);