javascript
JS对象与Dom对象与jQuery对象之间的区别
前言
通過問題看本質:
舉例:
js的寫法:document.getElementById('save').disabled=true;
在jquery中我是這樣寫的
分析:
其實因為$("#save")出來的其實是jQuery對象,而不是普通DOM對象
解決方法:
1)用JQ寫法
2)轉成DOM寫法
$("#save")[0].disabled=true; 當然,$("#save")[0]也可以寫成$("#save").get(0)。他返回的也是DOM元素。 $("#save").eq(0)得到的還是jq對象,$(dom對象)就能得到一個jq對象。一、Dom對象、JavaScript對象、jQuery對象
1.1 Dom對象
文檔對象模型簡稱DOM,是W3C組織推薦的處理可擴展置標語言的標準編程接口。
- DOM實際上是以面向對象方式描述的文檔模型。DOM定義了表示和修改文檔所需的對象、
這些對象的行為和屬性以及這些對象之間的關系。 - 通過DOM,可以訪問所有的 HTML 元素,連同它們所包含的文本和屬性。可以對其中的
內容進行修改和刪除,同時也可以創建新的元素。 - DOM 獨立于平臺和編程語言。它可被任何編程語言諸如 Java、JavaScript 和
VBScript 使用。 - DOM對象,即是我們用傳統的方法(javascript)獲得的對象。
- DOM準確說是對文檔對象的一種規范標準(文檔對象模型),標準只定義了屬性和方法行為。
1.2 JavaScript對象
- JavaScript 提供多個內建對象,比如 String、Date、Array 等等。
- 對象只是帶有屬性和方法的特殊數據類型。
- 通過js獲取的DOM對象就是js對象
- 當瀏覽器支持js的dom接口(api)時,這里狹義的dom對象是以js對象的形式出現的,
也就是一個js對象。
1.3 jQuery對象
1)概述
jQuery對象其實是一個JavaScript的數組,這個數組對象包含125個方法和4個屬性
4個屬性分別是:
- jquery 當前的jquery框架版本號
- length 指示該數組對象的元素個數 .
- context 一般情況下都是指向HtmlDocument對象 .
- selector 傳遞進來的選擇器內容
jquery對象就是通過jQuery包裝DOM對象后產生的對象。jQuery對象是jQuery獨有的,
其可以使用jQuery里的方法,但是不能使用DOM的方法;反過來Dom對象也不能使用
jquery的方法。
2)jQuery對象和js對象區別
- jQuery對象屬于js的數組
- jQuery對象是通過jQuery包裝的DOM對象后產生的
- jQuery對象不能使用DOM對象的方法和屬性
- DOM對象不能使用jQuery對象的方法和屬性
3)jQuery對象和js對象之間的相互轉換
- js轉jQuery對象
$(js對象) - jQuery對象轉js對象
二、細說jQuery對象和DOM對象的區別與使用
2.1 jQuery對象和DOM對象
DOM對象,即是我們用傳統的方法(javascript)獲得的對象,jQuery對象即是用
jQuery類庫的選擇器獲得的對象。
jQuery對象就是通過jQuery包裝DOM對象后產生的對象,它是jQuery獨有的。
如果一個對象是jQuery對象,那么就可以使用jQuery里的方法。
等同于js中:
document.getElementById("foo").innerHTML;注意:在jQuery對象中無法使用DOM對象的任何方法。
例如:
可以用
$("#id").html()和$("#id").attr ("checked")之類的 jQuery方法來代替。同樣,DOM對象也不能使用jQuery方法。學習jQuery開始就應當樹立正確的觀念,
分清jQuery對象和DOM對象之間的區別,之后學習 jQuery就會輕松很多的。
2.2 jQuery對象和DOM對象的互相轉換
2.2.1 jquery對象轉換成dom對象
jquery提供了兩種方法將一個jquery對象轉換成一個dom對象,即[index]和get(index)。
可能有人會覺得奇怪,怎么是用下標呢,沒錯,jquery對象就是一個數組對象。
舉例:
2.2.2 dom對象轉換成jquery對象
對于一個dom對象,只需要用$()把dom對象包裝起來,就可以獲得一個jquery對象了,
方法為$(dom對象);
舉例:
轉換后可以任意使用jquery中的方法了。
三、總結一下
dom對象才能使用dom中的方法,jquery對象不可以使用dom中的方法,但 jquery對象提供
了一套更加完善的工具用于操作dom。
平時用到的jquery對象都是通過$()函數制造出來的,$()函數就是一個jquery對象的制造工廠。
注意:
如果獲取的對象是 jquery對象,那么在變量前面加上$,這樣方便容易識別出哪些是jquery對象。
舉例:
如果獲取的是dom對象,則定義如下:
var variable = dom對象總結
以上是生活随笔為你收集整理的JS对象与Dom对象与jQuery对象之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery-点击按钮实现回到顶部的两种
- 下一篇: jQuery-全选、全不选、反选、提交等