如果是頁面已存在的標(biāo)簽,你直接用$("#標(biāo)簽Id")取到了以后默認(rèn)的就是jQuery對(duì)象,
創(chuàng)新互聯(lián)公司專注于永和網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供永和營(yíng)銷型網(wǎng)站建設(shè),永和網(wǎng)站制作、永和網(wǎng)頁設(shè)計(jì)、永和網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造永和網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供永和網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
如果是手寫的字符串,同樣是$("spankkkk/span")這樣就是jQuery對(duì)象,
如果想再轉(zhuǎn)換成正常的dom對(duì)象,就用get,如$("spankkkk/span").get(0),其中0為索引
本文實(shí)例分析了DOM對(duì)象和jQuery對(duì)象的轉(zhuǎn)換與區(qū)別。分享給大家供大家參考。具體分析如下:
jQuery Hello World程序:
script type="text/javascript" src="xxx//jquery-x.y.z.js"
引入jQuery.存在兩個(gè)版本,jquery-x.y.z.min.js是精簡(jiǎn)壓縮版,不帶min的是開發(fā)版,代碼中的注釋和縮進(jìn)等都被保留了.
注意路徑中的"/"需要轉(zhuǎn)義,即用"http://".
$()符號(hào)將DOM對(duì)象轉(zhuǎn)化為jQuery對(duì)象.
Hello World程序如下:
復(fù)制代碼 代碼如下:
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:
復(fù)制代碼 代碼如下:
window.onload = sayHello;
window.onload = sayWorld;
function sayHello() {
alert("Hello");
}
function sayWorld() {
alert("World");
}
后面的方法會(huì)覆蓋掉前面的方法,也即彈泡最后只顯示一個(gè),即World的那個(gè).
如果采用$(document).ready,則方法會(huì)串聯(lián)起來,即先顯示Hello的alert,再顯示W(wǎng)orld的.
復(fù)制代碼 代碼如下:
$(document).ready(sayHello);
$(document).ready(sayWorld);
function sayHello() {
alert("Hello");
}
function sayWorld() {
alert("World");
}
這樣就可以關(guān)聯(lián)多個(gè)方法.
另一個(gè)很小的差別,就是ready方法的執(zhí)行會(huì)稍微靠前一點(diǎn).widow.onload會(huì)等待DOM準(zhǔn)備好,并且所有綁定結(jié)束,而ready只能DOM準(zhǔn)備好,其他工作可能還沒有做好.
實(shí)例:給每一個(gè)超鏈接對(duì)象附加onclick事件
首先,body中添加多個(gè)超鏈接對(duì)象:
復(fù)制代碼 代碼如下:
body
a href="#"test1/abr
a href="#"test2/abr
a href="#"test3/abr
a href="#"test4/a
/body
要給每個(gè)對(duì)象添加onclick事件,可以有多種方法:
首先,可以在每個(gè)a標(biāo)簽里面寫onclick屬性;
其次,可以利用window.onload添加一個(gè)方法,獲取所有的標(biāo)簽,統(tǒng)一添加事件,如下:
復(fù)制代碼 代碼如下:
window.onload = function () {
var myLinks = document.getElementsByTagName("a");
for(var i = 0; i myLinks.length; ++i){
myLinks[i].onclick = function(){
alert("Hello link: " + i);
}
}
}
注意,這里我犯了一個(gè)錯(cuò)誤,我本來以為alert的數(shù)目會(huì)遞增,結(jié)果實(shí)際運(yùn)行的結(jié)果是每一個(gè)alert都是4.
這是因?yàn)閖s沒有塊級(jí)作用域,變量i引用的是for里的那個(gè),循環(huán)后變成了4.也即,onclick事件發(fā)生的時(shí)候才去取i的值,當(dāng)然都是4了.
下面用jQuery實(shí)現(xiàn)這一功能:
復(fù)制代碼 代碼如下:
$(document).ready(function () {
$("a").click(function () {
alert("Hello link from jQuery!");
});
});
jQuery中的$()符號(hào)會(huì)獲得頁面當(dāng)中的所有合適的元素.
所以上面的代碼隱含了遍歷的過程,給每一個(gè)元素都加上了事件處理函數(shù).
click方法是jQuery對(duì)象提供的方法.
onclick是DOM對(duì)象的屬性.
DOM里面的很多屬性到j(luò)Query里面就變成了方法.
DOM對(duì)象和jQuery對(duì)象之間的相互轉(zhuǎn)換與區(qū)別
看一個(gè)例子,首先加一個(gè)p標(biāo)簽:
復(fù)制代碼 代碼如下:
p id="clickMe"Click Me!/p
先獲得一個(gè)DOM對(duì)象,然后將其轉(zhuǎn)換為一個(gè)jQuery對(duì)象:
復(fù)制代碼 代碼如下:
//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());
也可以先獲得一個(gè)jQuery對(duì)象,再將其轉(zhuǎn)換為DOM對(duì)象:
復(fù)制代碼 代碼如下:
//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中$()獲取的是一個(gè)滿足條件的所有元素的數(shù)組.
小總結(jié):
$("字符串")會(huì)返回滿足條件的所有元素的一個(gè)數(shù)組,其中:
字符串以#開頭,表示id;
字符串以.開頭,表示CSS的class名;
若非以上兩種情況,則改字符串表示標(biāo)簽名.
$(DOM對(duì)象)可以得到一個(gè)jQuery對(duì)象.
var?a=document.getElementById("test");//去掉這里的#號(hào)
$(a).find('option').each(function(){
if($(this).html()=='4')
$(this).attr("selected","selected");
});
//或者:
$(a).find('option:contains("4")').attr("selected","selected");
//其實(shí)何必要先用dom去獲取元素,再轉(zhuǎn)化成jquery呢?直接:
//$('#test?option:contains("4")').attr("selected","selected");
可以使用$(this)即可轉(zhuǎn)換,
注:而dom對(duì)象轉(zhuǎn)為jquery對(duì)象,僅需要$( dom對(duì)象 ) 即可
jQuery對(duì)象不能使用DOM中的方法,但是如果對(duì)jQuery對(duì)象所提供的方法不熟悉,或者jQuery沒有封裝想要的方法,不得不實(shí)用DOM對(duì)象的時(shí)候,有以下兩種處理方法。jQuery提供了兩種方法將一個(gè)jQuery對(duì)象轉(zhuǎn)換成DOm對(duì)象,即[index]和get(index).
(1)jQuery對(duì)象是一個(gè)數(shù)組對(duì)象,可以通過[index]的方法得到相應(yīng)的DOM對(duì)象。
jQuery代碼如下:
復(fù)制代碼代碼如下:
var $cr = $("#cr"); //jQuery對(duì)象
var cr = $cr[0] //DOM對(duì)象
alert(cr.checked) //檢測(cè)這個(gè)checkbox是否選中了
(2)另一種方法是jQuery本身提供的,通過get(index)方法得到相應(yīng)的DOM對(duì)象。
jQuery代碼如下:
復(fù)制代碼代碼如下:
[js]var $cr = $("#cr");
var cr = $cr.get(0);
alert(cr.checked)
網(wǎng)站名稱:轉(zhuǎn)換為jquery對(duì)象,請(qǐng)列舉jQuery對(duì)象轉(zhuǎn)化為DOM對(duì)象的方法
本文鏈接:http://jinyejixie.com/article20/dsecijo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、企業(yè)建站、、網(wǎng)站內(nèi)鏈、定制開發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)