成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

包含dom與jquery的詞條

js原生dom對(duì)象和jQuery對(duì)象可以混合使用嗎

Dom原生對(duì)象和jQuery對(duì)象的區(qū)別:

在南潯等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),南潯網(wǎng)站建設(shè)費(fèi)用合理。

1.jquery選擇器得到的jquery對(duì)象和標(biāo)準(zhǔn)的 javascript中的document.getElementById()取得的dom對(duì)象是 兩種不同的對(duì)象類型,兩者不等價(jià) ;

注:js原生獲取的dom是一個(gè)對(duì)象,jQuery對(duì)象就是一個(gè)數(shù)組對(duì)象,其實(shí)就是選擇出來(lái)元素的數(shù)組集合。所以說(shuō)他們兩者是不同的對(duì)象類型不等價(jià)。

2.jQuery無(wú)法使用DOM對(duì)象的任何方法,同理DOM對(duì)象也不能使用jQuery里的方法. 亂使用會(huì)報(bào)錯(cuò)。

例如(文章下面有兩個(gè)踩坑經(jīng)歷。):

$("#id").html();

document.getElementById("id").innerHTML;

意思是指:獲取ID為id的元素內(nèi)的html代碼。這兩段代碼 結(jié)果相同,但中間的取值過(guò)程不同 。

即:$("#id").innerHTML、document.getElementById("id").html()之類的寫(xiě)法都是錯(cuò)誤的。

注:jQuery是從js衍生出來(lái)的,師出同源,但是jQuery是 經(jīng)過(guò)一系列操作 之后,將其封裝成了一個(gè)個(gè)不同的方法,學(xué)習(xí)jQuery開(kāi)始就應(yīng)當(dāng)樹(shù)立正確的觀念,分清jQuery對(duì)象和DOM對(duì)象之間的區(qū)別,之后學(xué)習(xí) jQuery就會(huì)輕松很多的。

如何區(qū)分jquery對(duì)象和dom對(duì)象

深刻了解jQuery對(duì)象和普通DOM對(duì)象的區(qū)別?;ハ噢D(zhuǎn)化見(jiàn)Q1

Q1,js的寫(xiě)法:document.getElementById('save').disabled=true;

在jquery中我是這樣寫(xiě)的$("#save").disabled = true; 為什么沒(méi)效果呢

A,這個(gè)是典型的問(wèn)題,其實(shí)因?yàn)?("#save")出來(lái)的其實(shí)是jQuery對(duì)象,而不是普通DOM對(duì)象

這是新手常見(jiàn)的問(wèn)題。

解決方法有2:

1,用JQ寫(xiě)法,$("#save").attr("disabled","true");

2,轉(zhuǎn)成DOM寫(xiě)法$("#save")[0].disabled=true;

當(dāng)然,$("#save")[0]也可以寫(xiě)成$("#save").get(0)。他返回的也是DOM元素

$("#save").eq(0)得到的還是jq對(duì)象

$(dom對(duì)象)就能得到一個(gè)jq對(duì)象。

Q2,獲取選中的checkbox

A:

獲取所有選中的checkbox:

$("input:checkbox:checked")

判斷是否一組checkbox都選中了:

if($("input:checkbox:checked").length){}

判斷某一個(gè)checkbox是否被選中

if($("input:checkbox").is(":checked")){}

Q3,我的id里有[]或.之類的符號(hào),怎么辦?或者帶有命名空間的xml標(biāo)簽帶有:怎么辦?

A:用\\來(lái)轉(zhuǎn)義如div id="id[1]"/div

$("#id\\[1\\]")

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

本文實(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的是開(kāi)發(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)起來(lái),即先顯示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)備好,其他工作可能還沒(méi)有做好.

實(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)簽里面寫(xiě)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ò)誤,我本來(lái)以為alert的數(shù)目會(huì)遞增,結(jié)果實(shí)際運(yùn)行的結(jié)果是每一個(gè)alert都是4.

這是因?yàn)閖s沒(méi)有塊級(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ì)獲得頁(yè)面當(dāng)中的所有合適的元素.

所以上面的代碼隱含了遍歷的過(guò)程,給每一個(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ù)組,其中:

字符串以#開(kāi)頭,表示id;

字符串以.開(kāi)頭,表示CSS的class名;

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

$(DOM對(duì)象)可以得到一個(gè)jQuery對(duì)象.

DOM對(duì)象與jquery對(duì)象有什么不同

jQuery對(duì)象和DOM對(duì)象使用說(shuō)明,需要的朋友可以參考下。

1.jQuery對(duì)象和DOM對(duì)象

第一次學(xué)習(xí)jQuery,經(jīng)常分辨不清哪些是jQuery對(duì)象,哪些是 DOM對(duì)象,因此需要重點(diǎn)了解jQuery對(duì)象和DOM對(duì)象以及它們之間的關(guān)系.

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

復(fù)制代碼 代碼如下:

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

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

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

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

上面的那段代碼等同于:

document.getElementById("foo").innerHTML;

注意:在jQuery對(duì)象中無(wú)法使用DOM對(duì)象的任何方法。

例如$("#id").innerHTML 和$("#id").checked之類的寫(xiě)法都是錯(cuò)誤的,可以用$("#id").html()和$("#id").attr ("checked")之類的 jQuery方法來(lái)代替。同樣,DOM對(duì)象也不能使用jQuery方法。學(xué)習(xí)jQuery開(kāi)始就應(yīng)當(dāng)樹(shù)立正確的觀念,分清jQuery對(duì)象和DOM對(duì)象之間的區(qū)別,之后學(xué)習(xí) jQuery就會(huì)輕松很多的。

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

在上面第一點(diǎn)說(shuō)了,jquery對(duì)象和dom對(duì)象是不一樣的!比如jquery對(duì)象不能使用dom的方法,dom對(duì)象不能使用jquery方法,那假如我 jquery沒(méi)有封裝我要的方法,那能怎么辦呢?

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

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

jquery提供了兩種方法將一個(gè)jquery對(duì)象轉(zhuǎn)換成一個(gè)dom對(duì)象,即[index]和get(index)??赡苡腥藭?huì)覺(jué)得奇怪,怎么是用下標(biāo)呢,沒(méi)錯(cuò),jquery對(duì)象就是一個(gè)數(shù)組對(duì)象.

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

復(fù)制代碼 代碼如下:

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

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

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

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

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

復(fù)制代碼 代碼如下:

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

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

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

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

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

ps: 平時(shí)用到的jquery對(duì)象都是通過(guò)$()函數(shù)制造出來(lái)的,$()函數(shù)就是一個(gè)jquery對(duì)象的制造工廠.

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

var $variable = jquery對(duì)象;

如果獲取的是dom對(duì)象,則定義如下:

var variable = dom對(duì)象

如何在jquery中操作DOM

一、選取DOM元素

jQuery的核心是通過(guò)各種選擇器,選中DOM元素,可以用querySelectorAll方法模擬這個(gè)功能。

var $ = document.querySelectorAll.bind(document);

這里需要注意的是,querySelectorAll方法返回的是NodeList對(duì)象,它很像數(shù)組(有數(shù)字索引和length屬性),但不是數(shù)組,不能使用pop、push等數(shù)組特有方法。

二、DOM操作

DOM本身就具有很豐富的操作方法,可以取代jQuery提供的操作方法。

尾部追加DOM元素。

// jQuery寫(xiě)法

$(parent).append($(child));

// DOM寫(xiě)法

parent.appendChild(child)

頭部插入DOM元素。

// jQuery寫(xiě)法

$(parent).prepend($(child));

// DOM寫(xiě)法

parent.insertBefore(child, parent.childNodes[0])

刪除DOM元素。

// jQuery寫(xiě)法

$(child).remove()

// DOM寫(xiě)法

child.parentNode.removeChild(child)

jquery選擇器與原生選擇器選擇DOM結(jié)果不同?

當(dāng)然不同,jq選擇器選擇的結(jié)果是經(jīng)過(guò)封裝的dom對(duì)象(可以叫做jquery對(duì)象),添加了jq自身的一些專有的屬性和方法,比如 $('.xxx').index(),而原生的dom對(duì)象卻不能這樣用。

通過(guò)簡(jiǎn)單的方法就能在原生dom對(duì)象與jquery對(duì)象之間轉(zhuǎn)換:

假如a是dom對(duì)象,那么$(a)就是轉(zhuǎn)換后的jquery對(duì)象;

假如a是jquery對(duì)象,那么a[0]就是轉(zhuǎn)換后的dom對(duì)象

新聞名稱:包含dom與jquery的詞條
鏈接URL:http://jinyejixie.com/article34/dsecese.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、域名注冊(cè)、標(biāo)簽優(yōu)化、建站公司、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
多伦县| 玉树县| 琼海市| 南乐县| 甘泉县| 肃宁县| 尖扎县| 长武县| 长武县| 宁明县| 镇赉县| 乌鲁木齐县| 沾化县| 桦南县| 民丰县| 琼海市| 盈江县| 武义县| 察隅县| 贵溪市| 轮台县| 英山县| 建平县| 大新县| 纳雍县| 右玉县| 湖口县| 漯河市| 三原县| 贺兰县| 和龙市| 衡阳市| 浦北县| 沅陵县| 中江县| 赤水市| 永川市| 静宁县| 斗六市| 长顺县| 汨罗市|