常見(jiàn)Dom操作有哪些敬察?

大家好秀睛,我是IT修真院武漢分院第11期的學(xué)員,一枚正直純潔善良的前端程序員莲祸,今天給大家分享一下蹂安,修真院官網(wǎng)js任務(wù)2,深度思考中的知識(shí)點(diǎn)——常見(jiàn)的Dom操作有哪些锐帜?


1.背景介紹

DOM(文檔對(duì)象模型)是針對(duì)HTML和XML文檔的一個(gè)API(應(yīng)用程序編程接口)藤抡。

DOM描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù),允許開(kāi)發(fā)人員添加抹估、移除和修改頁(yè)面的某一部分。DOM脫胎于Netscape及微軟公司創(chuàng)始的DHTML(動(dòng)態(tài)HTML)弄兜,但現(xiàn)在它已經(jīng)成為表現(xiàn)和操作頁(yè)面標(biāo)記的真正的跨平臺(tái)药蜻、語(yǔ)言中立的方式。

2.知識(shí)剖析

2.1DOM是什么替饿?

DOM是Document Object Model(文檔對(duì)象模型)的縮寫(xiě)语泽。DOM就是一個(gè)編程接口,就是一套API视卢,是針對(duì)HTML文檔踱卵、XML等文檔的一套API。

DOM用來(lái)訪問(wèn)或操作HTML文檔据过、XHTML文檔惋砂、XML文檔中的節(jié)點(diǎn)元素。JavaScript可以通過(guò)DOM來(lái)訪問(wèn)和操作HTML文檔所有的元素绳锅。JavaScript是一種腳本語(yǔ)言西饵,DOM是用來(lái)獲得和操作HTML文檔的節(jié)點(diǎn)屬性。JavaScript通常是通過(guò)DOM來(lái)獲得和操作HTML屬性的鳞芙。

2.2什么是DOM節(jié)點(diǎn)眷柔?

HTML文檔中的所有內(nèi)容都是節(jié)點(diǎn)

整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)

每個(gè)HTML元素是元素節(jié)點(diǎn)

HTML元素內(nèi)的文本是文本節(jié)點(diǎn)

每個(gè)HTML屬性是屬性節(jié)點(diǎn)

注釋是注釋節(jié)點(diǎn)

3.常見(jiàn)問(wèn)題

常見(jiàn)的DOM操作有哪些?

4.解決方案

4.1常用的查找節(jié)點(diǎn)的方法有:

document.getElementById('id屬性值');返回?fù)碛兄付╥d的對(duì)象的引用

document.getElementsByClassName('class屬性值');返回?fù)碛兄付╟lass的對(duì)象集合

document.getElementsByTagName('標(biāo)簽名');返回?fù)碛兄付?biāo)簽名的對(duì)象集合

4.2常用的新建節(jié)點(diǎn)的方法有:

document.createElement('元素名');創(chuàng)建新的元素節(jié)點(diǎn)

document.createAttribute('屬性名');創(chuàng)建新的屬性節(jié)點(diǎn)

document.createTextNode('文本內(nèi)容');創(chuàng)建新的文本節(jié)點(diǎn)

4.3常用的添加新節(jié)點(diǎn)的方法有:

1.element.setAttribute(attributeName, attributeValue );給元素增加指定屬性原朝,并設(shè)定屬性值

2.element.setAttributeNode(attributeName );給元素增加屬性節(jié)點(diǎn)

3.如需向HTML DOM添加新元素驯嘱,您必須首先創(chuàng)建該元素(元素節(jié)點(diǎn)),然后向一個(gè)已存在的元素追加該元素喳坠。

1)document.createTextNode('新增文本內(nèi)容');創(chuàng)建新的文本節(jié)點(diǎn)

2)parent.appendChild(創(chuàng)建的新節(jié)點(diǎn));向父節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)后追加新節(jié)點(diǎn)鞠评,或使用parent.insertBefore(newChild, existingChild );向父節(jié)點(diǎn)的某個(gè)特定子節(jié)點(diǎn)之前插入新節(jié)點(diǎn)

4.4常用的刪除節(jié)點(diǎn)的方法有:

parentNode.removeChild(existingChild );刪除已有的子節(jié)點(diǎn),返回值為刪除節(jié)點(diǎn)

DOM需要清楚你需要?jiǎng)h除的元素壕鹉,以及它的父元素谢澈。常用的解決方案:找到你希望刪除的子元素煌贴,然后使用其parentNode屬性來(lái)找到父元素:

var child=document.getElementById("p1");child.parentNode.removeChild(child);

4.5常用的修改節(jié)點(diǎn)的方法有:

parentNode.replaceChild(newChild, existingChild );用新節(jié)點(diǎn)替換父節(jié)點(diǎn)中已有的子節(jié)點(diǎn)

element.setAttribute(attributeName, attributeValue );給元素增加指定屬性,并設(shè)定屬性值(若原元素已有該節(jié)點(diǎn)锥忿,此操作能達(dá)到修改該屬性值的目的)

element.setAttributeNode(attributeName );給元素增加屬性節(jié)點(diǎn)(若原元素已有該節(jié)點(diǎn)牛郑,此操作能達(dá)到修改該屬性值的目的)

5.編碼實(shí)戰(zhàn)

6.拓展思考

常見(jiàn)的DOM -事件又哪些?

onclick事件——當(dāng)用戶點(diǎn)擊時(shí)

onload事件——用戶進(jìn)入

onunload事件——用戶離開(kāi)

onmouseover事件——鼠標(biāo)移入

onmouseout事件——鼠標(biāo)移出

onmousedown事件——鼠標(biāo)按下

onmouseup事件——鼠標(biāo)抬起

HTML DOM 事件

7.參考文獻(xiàn)

菜鳥(niǎo)教程-HTML DOM 教程

DOM常用操作 - GraceZy - 博客園

相關(guān)視頻敬鬓,PPT

8,更多討論

1淹朋,JavaScript的BOM和DOM有什么區(qū)別?

BOM是瀏覽器對(duì)象模型钉答,用來(lái)獲取或設(shè)置瀏覽器的屬性础芍、行為,例如:新建窗口数尿、獲取屏幕分辨率仑性、瀏覽器版本號(hào)等。

DOM是文檔對(duì)象模型右蹦,用來(lái)獲取或設(shè)置文檔中標(biāo)簽的屬性诊杆,例如獲取或者設(shè)置input表單的value值。

2何陆,DOM0級(jí)和DOM2級(jí)的區(qū)別晨汹?

0級(jí)DOM

主要分為2個(gè):

一是在標(biāo)簽內(nèi)寫(xiě)onclick事件

//直接寫(xiě)//調(diào)用 script 要寫(xiě)在前面

二是在js寫(xiě)onlicke=function(){}函數(shù)

document.getElementById("myButton").onclick =function(){? ? alert('thanks');}

2級(jí)DOM

DOM2級(jí)事件定義了兩個(gè)方法用于處理指定和刪除事件處理程序的操作:

addEventListener

removeEventListener

所有的DOM節(jié)點(diǎn)都包含這兩個(gè)方法,并且它們都接受三個(gè)參數(shù):

第一個(gè)參數(shù)是事件名(如click)贷盲;

第二個(gè)參數(shù)是事件處理程序函數(shù)淘这;

第三個(gè)參數(shù)如果是true則表示在捕獲階段調(diào)用,為false表示在冒泡階段調(diào)用巩剖。

addEventListener():可以為元素添加多個(gè)事件處理程序铝穷,觸發(fā)時(shí)會(huì)按照添加順序依次調(diào)用。

removeEventListener():不能移除匿名添加的函數(shù)佳魔。

3氧骤,什么是DOM事件流饲化?

DOM2級(jí)事件規(guī)定事件流包括三個(gè)階段戳稽,事件捕獲階段,處于目標(biāo)階段沿彭,事件冒泡階段镊尺,首先發(fā)生的是事件捕獲朦佩,為截取事件提供機(jī)會(huì),然后是實(shí)際目標(biāo)接收事件庐氮,最后是冒泡階段


感謝大家觀看

今天的分享就到這里啦语稠,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)、留言仙畦、拍磚~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末输涕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子慨畸,更是在濱河造成了極大的恐慌莱坎,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寸士,死亡現(xiàn)場(chǎng)離奇詭異檐什,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)弱卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)乃正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人婶博,你說(shuō)我怎么就攤上這事瓮具。” “怎么了凡人?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵名党,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我划栓,道長(zhǎng),這世上最難降的妖魔是什么条获? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任忠荞,我火速辦了婚禮,結(jié)果婚禮上帅掘,老公的妹妹穿的比我還像新娘委煤。我一直安慰自己,他們只是感情好修档,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布碧绞。 她就那樣靜靜地躺著,像睡著了一般吱窝。 火紅的嫁衣襯著肌膚如雪讥邻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天院峡,我揣著相機(jī)與錄音兴使,去河邊找鬼。 笑死照激,一個(gè)胖子當(dāng)著我的面吹牛发魄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼励幼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汰寓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起苹粟,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤有滑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后六水,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體俺孙,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掷贾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了睛榄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡想帅,死狀恐怖场靴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情港准,我是刑警寧澤旨剥,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站浅缸,受9級(jí)特大地震影響轨帜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衩椒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一蚌父、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毛萌,春花似錦苟弛、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至做盅,卻和暖如春缤削,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吹榴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工僻他, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腊尚。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓吨拗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劝篷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容