2018年12月25日 星期二

[jQuery] jQuery 物件 vs DOM 物件

粗略記一下我自己的理解:

jQuery 框架主要是一個 JavaScript 函式庫,裡面包含很多個函式。

其中一個很重要的基本函式 jQuery() -- 通常會簡寫為 $() -- 用途就是返回一個「jQuery 物件」。

概念上,把 DOM 物件用 jQuery() 包裝過後,吐出來就是個 jQuery 物件。使用傳統 JavaScript 的 DOM 選取方法,取出來的就是 DOM 物件(或者說是一個 DOM 元素?)。

只有 jQuery 物件才能使用 jQuery 的各種好用方法。相反的,若要呼叫 DOM 方法則一定要是 DOM 物件才可以,jQuery 物件是不行的。

所謂jQuery 物件,本質上就是個陣列(Array),或者精確的說是個關聯式陣列物件(又稱物件實字Object Literal)。

餵給 $() 吃的參數值,可以有很多種格式,其中最常見的就是選擇器(一個符合jQuery selector規格的字串)。另外也可以吃 DOM 物件,用 jQuery() 把 DOM 物件包裝起來,就是個 jQuery 物件了:

var cr=document.getElementById("cr"); //dom物件
var $cr = $(cr); //轉換成jQuery物件

反過來,若把 jQuery 物件取出陣列第一個屬性,就可以轉換成 DOM 物件:

var $cr=$("#cr"); //jQuery物件
var cr = $cr[0]; //dom物件 也可寫成 var cr=$cr.get(0);

參考資料:
DOM物件和JQuery物件的區別 - 掃文資訊
https://tw.saowen.com/a/0045b51128f3e570adc319b1d541d2545373c3f2a96864f9be24d7485ac67bfb

沒有留言:

張貼留言

MJML完整語法說明

MJML 是一套由電子報服務商MailJet貢獻出來的開源框架,能用簡單的語法輕鬆撰寫響應式(RWD)的電子郵件內容,再透過免費開源的 轉檔程式 或 線上編輯器 ,產生最終的標準HTML程式碼。 上一篇 稍微針對其版面布局結構做了一點簡介,這篇就完整照著官網技術文件的內容(2...