任何人都可以告訴我以下幾行返回的對象之間的區別嗎?JOuery對象與元素對象
我知道的第一行返回ID =「divID」的元素對象。 我認爲第二個做相同的,但得到的對象從彼此的行爲不同..
在我以爲domObject相當於jqObject換句話說...
var domObject = document.getElementById("rowID");
var jqObject = $("#rowID");
任何人都可以告訴我以下幾行返回的對象之間的區別嗎?JOuery對象與元素對象
我知道的第一行返回ID =「divID」的元素對象。 我認爲第二個做相同的,但得到的對象從彼此的行爲不同..
在我以爲domObject相當於jqObject換句話說...
var domObject = document.getElementById("rowID");
var jqObject = $("#rowID");
第一個回報一個DOMElement使用瀏覽器的內置方法。 - Javascript
第二個返回一個jQuery對象與該行作爲其唯一成員。你可以在對象上使用jQuery函數來操作它。 - jQuery的
他們應該是一樣的,問題可能是你沒有圍繞#rowID
報價試試這個: VAR jqObject = $( 「#ROWID」);
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
});
的區別在於,一個是jQuery對象,而另一個不是。 jQuery objects have their own methods。
但是,它們是內轉換的。您可以通過使用.get()
或只是[number]
提取jQuery對象單一的DOM元素:
var domObject = $jqObject[0];
要反過來做,只是把它包在jQuery函數:
var $jqObject = $(domObject);
沒有.. jQuery對象是一個dom對象的包裝 –
技術上你的第二個例子不會做bupkis,因爲你缺少標識符周圍的引號。 – j08691
$(「#rowID」)將返回該元素,但用jquery對象包裝它...它們引用相同的元素,但jQuery對象通常更容易處理... – user3334690