真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

dom對象和jquery對象,jquery獲取的dom對象和原生dom區(qū)別

DOM對象與jquery對象有什么不同

jQuery對象和DOM對象使用說明,需要的朋友可以參考下。

站在用戶的角度思考問題,與客戶深入溝通,找到雙牌網(wǎng)站設計與雙牌網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋雙牌地區(qū)。

1.jQuery對象和DOM對象

第一次學習jQuery,經(jīng)常分辨不清哪些是jQuery對象,哪些是 DOM對象,因此需要重點了解jQuery對象和DOM對象以及它們之間的關系.

DOM對象,即是我們用傳統(tǒng)的方法(javascript)獲得的對象,jQuery對象即是用jQuery類庫的選擇器獲得的對象;

復制代碼 代碼如下:

var domObj = document.getElementById("id"); //DOM對象

var $obj = $("#id"); //jQuery對象;

jQuery對象就是通過jQuery包裝DOM對象后產(chǎn)生的對象,它是jQuery獨有的。如果一個對象是jQuery對象,那么就可以使用jQuery里的方法,例:

$("#foo").html(); //獲取id為foo的元素內(nèi)的html代碼,html()是jQuery特有的方法;

上面的那段代碼等同于:

document.getElementById("foo").innerHTML;

注意:在jQuery對象中無法使用DOM對象的任何方法。

例如$("#id").innerHTML 和$("#id").checked之類的寫法都是錯誤的,可以用$("#id").html()和$("#id").attr ("checked")之類的 jQuery方法來代替。同樣,DOM對象也不能使用jQuery方法。學習jQuery開始就應當樹立正確的觀念,分清jQuery對象和DOM對象之間的區(qū)別,之后學習 jQuery就會輕松很多的。

2.jQuery對象和DOM對象的互相轉(zhuǎn)換

在上面第一點說了,jquery對象和dom對象是不一樣的!比如jquery對象不能使用dom的方法,dom對象不能使用jquery方法,那假如我 jquery沒有封裝我要的方法,那能怎么辦呢?

這時我們可以將jquer對象轉(zhuǎn)換成dom對象

jquery對象轉(zhuǎn)換成 dom對象

jquery提供了兩種方法將一個jquery對象轉(zhuǎn)換成一個dom對象,即[index]和get(index)??赡苡腥藭X得奇怪,怎么是用下標呢,沒錯,jquery對象就是一個數(shù)組對象.

下面代碼將演示一個jquery對象轉(zhuǎn)換成dom對象,再使用dom對象的方法

復制代碼 代碼如下:

var $cr=$("#cr"); //jquery對象

var cr = $cr[0]; //dom對象 也可寫成 var cr=$cr.get(0);

alert(cr.checked); //檢測這個checkbox是否給選中

dom對象轉(zhuǎn)換成jquery對象

對于一個dom對象,只需要用$()把dom對象包裝起來,就可以獲得一個jquery對象了,方法為$(dom對象);

復制代碼 代碼如下:

var cr=document.getElementById("cr"); //dom對象

var $cr = $(cr); //轉(zhuǎn)換成jquery對象

轉(zhuǎn)換后可以任意使用jquery中的方法了.

通過以上的方法,可以任意的相互轉(zhuǎn)換jquery對象和dom對象.

最后再次強調(diào),dom對象才能使用dom中的方法,jquery對象不可以使用dom中的方法,但 jquery對象提供了一套更加完善的工具用于操作dom,關于jquery的dom操作將在后面的文章進行詳細講解.

ps: 平時用到的jquery對象都是通過$()函數(shù)制造出來的,$()函數(shù)就是一個jquery對象的制造工廠.

建議:如果獲取的對象是 jquery對象,那么在變量前面加上$,這樣方便容易識別出哪些是jquery對象,例如:

var $variable = jquery對象;

如果獲取的是dom對象,則定義如下:

var variable = dom對象

什么是dom對象 和jquwey對象

DOM—Document Object Model,它是W3C國際組織的一套Web標準。它定義了訪問HTML文檔對象的一套屬性、方法和事件。

DOM是以層次結構組織的節(jié)點或信息片斷的集合。文檔對象模型(Document Object Model)是給HTML與XML文件使用的一組API。DOM的本質(zhì)是建立網(wǎng)頁與腳本語言或程序語言溝通的橋梁。

瀏覽器對象是一個分層結構,也稱為文檔對象模型,如下圖所示:

從上圖可以看出:

(1)打開網(wǎng)頁后,首先看到的是瀏覽器窗口,即頂層的window對象。

(2)其次,看到的是網(wǎng)頁文檔的內(nèi)容,即document文檔。

(3)定位對象:

window.document.myform.text1

document.myform.text1

因為window窗口對象是所有頁面的根對象,所以常常省略。

(4)地址對象location和歷史對象history,它他對應IE瀏覽器中的地址欄和前進/后退按鈕。

JQuery是繼prototype之后又一個優(yōu)秀的Javascript庫。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML(標準通用標記語言下的一個應用)、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需要定義id即可。

jQuery對象與DOM對象區(qū)別與轉(zhuǎn)換

本文實例分析了DOM對象和jQuery對象的轉(zhuǎn)換與區(qū)別。分享給大家供大家參考。具體分析如下:

jQuery Hello World程序:

script type="text/javascript" src="xxx//jquery-x.y.z.js"

引入jQuery.存在兩個版本,jquery-x.y.z.min.js是精簡壓縮版,不帶min的是開發(fā)版,代碼中的注釋和縮進等都被保留了.

注意路徑中的"/"需要轉(zhuǎn)義,即用"http://".

$()符號將DOM對象轉(zhuǎn)化為jQuery對象.

Hello World程序如下:

復制代碼 代碼如下:

html

head

titleHello jQuery/title

script type="text/javascript" src="libs//jquery-1.11.2.js"/script

script type="text/javascript"

$(document).ready(function () {

alert("Hello World");

});

/script

/head

body

/body

/html

$(document).ready和window.onload的比較

首先看window.onload:

復制代碼 代碼如下:

window.onload = sayHello;

window.onload = sayWorld;

function sayHello() {

alert("Hello");

}

function sayWorld() {

alert("World");

}

后面的方法會覆蓋掉前面的方法,也即彈泡最后只顯示一個,即World的那個.

如果采用$(document).ready,則方法會串聯(lián)起來,即先顯示Hello的alert,再顯示W(wǎng)orld的.

復制代碼 代碼如下:

$(document).ready(sayHello);

$(document).ready(sayWorld);

function sayHello() {

alert("Hello");

}

function sayWorld() {

alert("World");

}

這樣就可以關聯(lián)多個方法.

另一個很小的差別,就是ready方法的執(zhí)行會稍微靠前一點.widow.onload會等待DOM準備好,并且所有綁定結束,而ready只能DOM準備好,其他工作可能還沒有做好.

實例:給每一個超鏈接對象附加onclick事件

首先,body中添加多個超鏈接對象:

復制代碼 代碼如下:

body

a href="#"test1/abr

a href="#"test2/abr

a href="#"test3/abr

a href="#"test4/a

/body

要給每個對象添加onclick事件,可以有多種方法:

首先,可以在每個a標簽里面寫onclick屬性;

其次,可以利用window.onload添加一個方法,獲取所有的標簽,統(tǒng)一添加事件,如下:

復制代碼 代碼如下:

window.onload = function () {

var myLinks = document.getElementsByTagName("a");

for(var i = 0; i myLinks.length; ++i){

myLinks[i].onclick = function(){

alert("Hello link: " + i);

}

}

}

注意,這里我犯了一個錯誤,我本來以為alert的數(shù)目會遞增,結果實際運行的結果是每一個alert都是4.

這是因為js沒有塊級作用域,變量i引用的是for里的那個,循環(huán)后變成了4.也即,onclick事件發(fā)生的時候才去取i的值,當然都是4了.

下面用jQuery實現(xiàn)這一功能:

復制代碼 代碼如下:

$(document).ready(function () {

$("a").click(function () {

alert("Hello link from jQuery!");

});

});

jQuery中的$()符號會獲得頁面當中的所有合適的元素.

所以上面的代碼隱含了遍歷的過程,給每一個元素都加上了事件處理函數(shù).

click方法是jQuery對象提供的方法.

onclick是DOM對象的屬性.

DOM里面的很多屬性到jQuery里面就變成了方法.

DOM對象和jQuery對象之間的相互轉(zhuǎn)換與區(qū)別

看一個例子,首先加一個p標簽:

復制代碼 代碼如下:

p id="clickMe"Click Me!/p

先獲得一個DOM對象,然后將其轉(zhuǎn)換為一個jQuery對象:

復制代碼 代碼如下:

//Part 1: DOM -- jQuery

//DOM object:

var pElement = document.getElementsByTagName("p")[0];

alert("DOM pElement: " + pElement.innerHTML);

//Convert DOM object to jQuery object:

var pElementjQuery = $(pElement);

alert("jQuery pElementjQuery: " + pElementjQuery.html());

也可以先獲得一個jQuery對象,再將其轉(zhuǎn)換為DOM對象:

復制代碼 代碼如下:

//Part 2: jQuery -- DOM

//jQuery object array:

var clickMejQuery = $("#clickMe");

//Convert jQuery object to DOM object (2 ways):

//way 1:

var domClickMe1 = clickMejQuery[0];

alert("dom1: " + domClickMe1.innerHTML);

//way 2:

var domClickMe2 = clickMejQuery.get(0);

alert("dom2: " + domClickMe2.innerHTML);

再次注意:jQuery中$()獲取的是一個滿足條件的所有元素的數(shù)組.

小總結:

$("字符串")會返回滿足條件的所有元素的一個數(shù)組,其中:

字符串以#開頭,表示id;

字符串以.開頭,表示CSS的class名;

若非以上兩種情況,則改字符串表示標簽名.

$(DOM對象)可以得到一個jQuery對象.

如何將jquery對象轉(zhuǎn)換成dom對象

jQuery對象轉(zhuǎn)成DOM對象:

兩種轉(zhuǎn)換方式將一個jQuery對象轉(zhuǎn)換成DOM對象:[index]和.get(index);

(1)jQuery對象是一個數(shù)據(jù)對象,可以通過[index]的方法,來得到相應的DOM對象。

如:var $v =$("#v") ; //jQuery對象

var v=$v[0]; //DOM對象

alert(v.checked) //檢測這個checkbox是否被選中

(2)jQuery本身提供,通過.get(index)方法,得到相應的DOM對象

如:var $v=$("#v"); //jQuery對象

var v=$v.get(0); //DOM對象

alert(v.checked) //檢測這個checkbox是否被選中

望采納!

怎樣判斷一個對象 是 jquery對像 還是dom對象

不管是jquery對象還是dom對象,都可以互轉(zhuǎn)的,如果你只需要jquery對象的話

function(dom)

{

var mydom=$(dom);

}

如果你只需要簡單的dom對象的話 :

function(dom)

{

var mydom=dom;

if(dom[0]) //這里可以判斷dom[0]是否存在,如果存在肯定是jquery對象

{

mydom=dom[0]; //把jquery對象轉(zhuǎn)成dom對象

}

}


當前文章:dom對象和jquery對象,jquery獲取的dom對象和原生dom區(qū)別
本文URL:http://weahome.cn/article/dsddgpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部