【修真院web小課堂】常見Dom操作有哪些?

大家好,我是IT修真院北京分院第23期的學(xué)員郭婷婷冠息,一枚正直純潔善良的WEB前端程序員挪凑。今天給大家分享一下,常見Dom操作有哪些?

分享人:郭婷婷?

1.背景介紹

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

繪了一個(gè)層次化的節(jié)點(diǎn)樹岖赋,允許開發(fā)人員添加、移除和修改頁面的某一部分瓮孙。DOM脫胎于

Netscape 及微軟公司創(chuàng)始的DHTML(動(dòng)態(tài)HTML)唐断,但現(xiàn)在它已經(jīng)成為表現(xiàn)和操作頁面標(biāo)記的真正的跨平臺、語言中立的方式杭抠。

2.知識剖析

DOM是什么脸甘?

DOM 是 Document Object Model(文檔對象模型)的縮寫。DOM就是一個(gè)編程接口偏灿,就是一套API丹诀,是針對HTML文檔、XML等文檔的一套API。

DOM用來訪問或操作HTML文檔铆遭、XHTML文檔硝桩、XML文檔中的節(jié)點(diǎn)元素。JavaScript 可以通過 DOM 來訪問和操作HTML文檔所有的元素枚荣。JavaScript是一種腳本語言碗脊,DOM是用來獲得和操作HTML文檔的節(jié)點(diǎn)屬性。JavaScript通常是通過DOM來獲得和操作HTML屬性的橄妆。

什么是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)


上圖是一個(gè)html文件,也就是網(wǎng)頁的結(jié)構(gòu)害碾。

html標(biāo)簽是一個(gè)節(jié)點(diǎn)(Node)矢劲。

head、title慌随、body芬沉、p標(biāo)簽都是節(jié)點(diǎn)。

嵌套其他節(jié)點(diǎn)的節(jié)點(diǎn)叫做父節(jié)點(diǎn)阁猜。

被嵌套的節(jié)點(diǎn)叫做子節(jié)點(diǎn)花嘶。

同一個(gè)父節(jié)點(diǎn)下的節(jié)點(diǎn)叫做兄弟節(jié)點(diǎn)。

父親的父親以及上溯十八代祖宗叫做祖先節(jié)點(diǎn)蹦漠。

兒子的兒子以及子子孫孫無窮匱也叫做后代節(jié)點(diǎn)椭员。

3.常見問題

常見的DOM操作有哪些?

1.查找節(jié)點(diǎn)

2.新建節(jié)點(diǎn)

3.添加新節(jié)點(diǎn)

4.刪除節(jié)點(diǎn)

5.修改節(jié)點(diǎn)

4.解決方案

Document


當(dāng)瀏覽器下載到一個(gè)網(wǎng)頁笛园,通常是 HTML隘击,這個(gè) HTML 就叫 document(當(dāng)然,這也是 DOM 樹中的一個(gè) node)研铆,

從上圖可以看到埋同,document 通常是整個(gè) DOM 樹的根節(jié)點(diǎn)。這個(gè) document 包含了標(biāo)題(document.title)棵红、URL(document.URL)等屬性凶赁,可以直接在 JS 中訪問到。

在 JS 中逆甜,可以通過 document 訪問其子節(jié)點(diǎn)(其實(shí)任何節(jié)點(diǎn)都可以)虱肄,如

document.body;
document.getElementById('xxx');

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

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

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

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

常用的新建節(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)

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

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

1)parent.appendChild( 創(chuàng)建的新節(jié)點(diǎn) );向父節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)后追加新節(jié)點(diǎn)

2)parent.insertBefore( newChild, existingChild );向父節(jié)點(diǎn)的某個(gè)特定子節(jié)點(diǎn)之前插入新節(jié)點(diǎn)

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

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

常用的修改節(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.更多討論

常見的DOM - 事件又哪些?

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

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

onunload 事件——用戶離開

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

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

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

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

HTML DOM 事件

7.參考文獻(xiàn)

菜鳥教程-HTML DOM 教程

DOM常用操作 - GraceZy - 博客園

DOM 是什么根欧?

DOM, DOCUMENT, BOM, WINDOW 有什么區(qū)別?

8怜珍、更多討論

1、DOM和BOM有什么區(qū)別凤粗?

DOM 是為了操作文檔出現(xiàn)的 API绘面,document 是其的一個(gè)對象;

BOM 是為了操作瀏覽器出現(xiàn)的 API侈沪,window 是其的一個(gè)對象。

2晚凿、所有節(jié)點(diǎn)都有子節(jié)點(diǎn)嗎亭罪?

這個(gè)不一定,比如文本節(jié)點(diǎn)歼秽。

3应役、getElementById()、querySelector()燥筷、querySelectorAll()獲取節(jié)點(diǎn)的方法有什么區(qū)別箩祥?

query選擇符選出來的元素及元素?cái)?shù)組是靜態(tài)的,而getElement這種方法選出的元素是動(dòng)態(tài)的肆氓。querySelector()是用于接收一個(gè)CSS選擇符袍祖,返回與該模式匹配的第一個(gè)元素;querySelectorAll()用于選擇匹配到的所有元素谢揪。


鳴謝

感謝大家觀看

BY :|黃源志|郭婷婷

PPT鏈接:https://ptteng.github.io/PPT/PPT/js-02-DOM.html#/

視頻鏈接: https://v.qq.com/x/page/i0513cuidb0.html

--------------------------------------------------------------------------------------------------------------------

技能樹.IT修真院

“我們相信人人都可以成為一個(gè)工程師蕉陋,現(xiàn)在開始,找個(gè)師兄拨扶,帶你入門凳鬓,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷没济瘢”缩举。

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線匹颤,學(xué)習(xí)透明化仅孩,成長可見化,師兄1對1免費(fèi)指導(dǎo)印蓖「芮猓快來與我一起學(xué)習(xí)吧?!

猛戳這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末另伍,一起剝皮案震驚了整個(gè)濱河市鼻百,隨后出現(xiàn)的幾起案子绞旅,更是在濱河造成了極大的恐慌,老刑警劉巖温艇,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件因悲,死亡現(xiàn)場離奇詭異,居然都是意外死亡勺爱,警方通過查閱死者的電腦和手機(jī)晃琳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琐鲁,“玉大人卫旱,你說我怎么就攤上這事∥Ф危” “怎么了顾翼?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奈泪。 經(jīng)常有香客問我适贸,道長,這世上最難降的妖魔是什么涝桅? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任拜姿,我火速辦了婚禮,結(jié)果婚禮上冯遂,老公的妹妹穿的比我還像新娘蕊肥。我一直安慰自己,他們只是感情好蛤肌,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布晴埂。 她就那樣靜靜地躺著,像睡著了一般寻定。 火紅的嫁衣襯著肌膚如雪儒洛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天狼速,我揣著相機(jī)與錄音琅锻,去河邊找鬼。 笑死向胡,一個(gè)胖子當(dāng)著我的面吹牛恼蓬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播僵芹,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼处硬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拇派?” 一聲冷哼從身側(cè)響起荷辕,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤凿跳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疮方,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體控嗜,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年骡显,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疆栏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惫谤,死狀恐怖壁顶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溜歪,我是刑警寧澤若专,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站痹愚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蛔糯。R本人自食惡果不足惜拯腮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚁飒。 院中可真熱鬧动壤,春花似錦、人聲如沸淮逻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爬早。三九已至哼丈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筛严,已是汗流浹背醉旦。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桨啃,地道東北人车胡。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像照瘾,于是被迫代替她去往敵國和親匈棘。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

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