1、
DOM對象
DOM實際上是以面向對象方式描述的文檔模型。DOM定義了表示和修改文檔所需的對象、這些對象的行為和屬性以及這些對象之間的關系。
根據W3C DOM規范,DOM是HTML與XML的應用編程接口(API)。
通過 DOM,可以訪問所有的 HTML 元素,連同它們所包含的文本和屬性。可以對其中的內容進行修改和刪除,同時也可以創建新的元素。
HTML DOM 獨立於平台和編程語言。它可被任何編程語言諸如 Java、JavaScript 和 VBScript 使用。
DOM對象,即是我們用傳統的方法(javascript)獲得的對象。
2、jQuery對象
jquery對象其實是一個javascript的數組
這個數組對象包含125個方法和4個屬性
4個屬性分別是
jquery 當前的jquery框架版本號
length 指示該數組對象的元素個數
context 一般情況下都是指向HtmlDocument對象
selector 傳遞進來的選擇器內容 如:#yourId或.yourClass等
如果你通過$("#yourId")方法獲取jquery對象,
並且你的頁面中只有一個id為yourId的元素
那么$("#yourId")[0]就是HtmlElement元素
與document.getElementById("yourId")獲取的元素是一樣的
簡單理解,就是jQuery創建的對象
jQuery對象就是通過jQuery包裝DOM對象后產生的對象。jQuery對象是jQuery獨有的,其可以使用jQuery里的方法,但是不能使用DOM的方法
3、DOM對象和jquery對象的區別
[javascript]
var domObj = document.getElementById("id"); //DOM對象
var $obj = $("#id"); //jQuery對象;
[javascript]
$(“#img”).attr(“src”,”test.jpg”); //這里的$(“#img”)就是獲取jQuery對象;
[javascript]
document.getElementById(“img”).src=”test.jpg”;//這里的document.getElementById(“img”)就是DOM對象;
再說一個例子:就是this,我在寫jQuery的時候經常這樣寫:
this.attr(“src”,”test.jpg”);
可是就是出錯。其實this是DOM對象,而
.attr(“src”,”test.jpg”)
是jQuery方法,所以出錯了。要解決這個問題就要將DOM對象轉換成jQuery對象,例如:
$(this).attr(“src”,”test.jpg”);
4、DOM對象和jquery對象的轉換
DOM對象轉成jQuery對象:
對於已經是一個DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了。
方法:$(DOM對象)
[javascript]
var v=document.getElementById(“v”); //DOM對象
var $v=$(v); //jQuery對象
jQuery對象轉成DOM對象:
兩種轉換方式將一個jQuery對象轉換成DOM對象:[index]和.get(index);
(1)jQuery對象是一個數據對象,可以通過[index]的方法,來得到相應的DOM對象。
[javascript]
var $v =$(“#v”) ; //jQuery對象
var v=$v[0]; //DOM對象
alert(v.checked) //檢測這個checkbox是否被選中
(2)jQuery本身提供,通過.get(index)方法,得到相應的DOM對象。
[javascript]
var $v=$(“#v”); //jQuery對象
var v=$v.get(0); //DOM對象
alert(v.checked) //檢測這個checkbox是否被選中