【武漢小課堂第167期】常見的DOM操作有哪些


1.什么是DOM

1.1DOM 是 Document Object Model(文檔對(duì)象模型)的縮寫坚洽。

1.2DOM是中立于平臺(tái)和語言的接口,它允許程序和腳本動(dòng)態(tài)地訪問和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式疾宏。

1.3在 HTML DOM中后添,所有事物都是節(jié)點(diǎn)。DOM 是被視為節(jié)點(diǎn)樹的 HTML蛙讥。

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.常見的DOM屬性

3.1innerHTML 屬性

??? 可以用來修改元素內(nèi)部的文本迫像,與innerText屬性類似劈愚,innerHTML和innerText的區(qū)別在于前者獲取的是被操作元素的開始標(biāo)簽到結(jié)束標(biāo)簽之間的所有的元素,而后者獲取的是被操作元素的開始標(biāo)簽到結(jié)束標(biāo)簽之間的所有文本闻妓,但是兩者都可以用來修改元素內(nèi)的內(nèi)容菌羽,在修改元素內(nèi)的內(nèi)容時(shí),其他的之前已經(jīng)存在的子元素會(huì)被覆蓋

3.2nodeName 屬性

nodeName 屬性規(guī)定節(jié)點(diǎn)的名稱由缆,元素節(jié)點(diǎn)的 nodeName 與標(biāo)簽名相同注祖,屬性節(jié)點(diǎn)的 nodeName 與屬性名相同猾蒂,文本節(jié)點(diǎn)的 nodeName 始終是 #text,文檔節(jié)點(diǎn)的 nodeName 始終是 #document

4.訪問元素的方法

4.1通過使用 getElementById() 方法

使用id選擇器可以直接選到id對(duì)應(yīng)的元素是晨,并對(duì)元素進(jìn)行操作

4.2通過使用 getElementsByTagName() 肚菠、通過使用 getElementsByClassName()

這兩種方法前者是通過元素的標(biāo)簽進(jìn)行元素的訪問,后者是通過類名來訪問元素罩缴,和id選擇器的區(qū)別在于它們選擇到的是一個(gè)數(shù)組蚊逢,因此需要對(duì)具體元素進(jìn)行操作的時(shí)候,需要再變量后面加上【x】靴庆,中括號(hào)里面是元素的索引值时捌,即該元素在同類名或同便簽名的元素中的索引值

5.修改元素的方法

5.1改變 HTML 內(nèi)容

document.getElementById("p1").innerHTML="New text!";使用此方法的時(shí)候注意新設(shè)定的內(nèi)容會(huì)將元素中之前存在的文本或者子元素覆蓋

5.2改變 CSS 樣式

document.getElementById("p2").style.color="blue";

5.3改變多個(gè)CSS 樣式

document.getElementById("p2").style.cssText="width:10px;height:10px";這個(gè)方法不會(huì)將元素之前設(shè)置好的css樣式全部覆蓋炉抒,而是會(huì)將對(duì)應(yīng)的屬性項(xiàng)進(jìn)行覆蓋

上圖為元素初始樣式

加了main[0].style.cssText="background-color:black"

通過對(duì)比可知使用element.style.cssText添加背景色樣式后奢讨,只有背景顏色得到了改變,其他樣式如高度焰薄、寬度和邊框等都未發(fā)生改變

5.4追加子元素的方法:

首先必須創(chuàng)建該元素(元素節(jié)點(diǎn))拿诸,然后把它追加到已有的元素上:var para=document.createElement("p");

創(chuàng)建新的 HTML 元素 - appendChild() ,在父元素的最后追加塞茅;

創(chuàng)建新的 HTML 元素-element.insertBefore(para,child)亩码,在指定位置給父級(jí)追加子元素;

刪除 HTML 元素野瘦,您必須清楚該元素的父元素:parent.removeChild(child);

替換 HTML 元素描沟,parent.replaceChild(para,child)方法;

6.使用便捷但不太常見的dom方法

6.1node類型中的cloneNode方法

(1)element.cloneNode(true):該方法會(huì)復(fù)制元素的樣式以及元素中的所有子元素的樣式


使用cloneNode(true)進(jìn)行元素復(fù)制

(2)element.cloneNode(false):該方法會(huì)復(fù)制元素本身但不會(huì)復(fù)制元素的子元素

使用cloneNode(false)進(jìn)行元素復(fù)制

(3)方法特點(diǎn)

此方法只會(huì)復(fù)制元素在html中存在的節(jié)點(diǎn)結(jié)構(gòu)和屬性鞭光,但不會(huì)復(fù)制在js中為元素設(shè)置的屬性或是方法吏廉、事件等

6.2document.url\document.domain\document.referrer方法

(1)document.url:此方法用于獲得頁面的完整的url地址

(2)document.domain:此方法用于獲得頁面的地址縮寫(域名地址),此方法是可以進(jìn)行修改的當(dāng)頁面中包含來自其他子域的框架或內(nèi)嵌框架時(shí)惰许,能夠設(shè)置document.domain就非常方便了席覆,由于跨域安全限制,來自不同子域的頁面無法通過javascript通信汹买,如果將每個(gè)頁面的document.domain設(shè)置為相同的值佩伤,這些頁面就可以互相訪問對(duì)方包含的javascript對(duì)象了

(3)document.referrer:此方法用于求當(dāng)前頁面的跳轉(zhuǎn)頁面源地址,即如果當(dāng)前頁面是由之前某個(gè)頁面跳轉(zhuǎn)過來的晦毙,那么此方法可以求得那個(gè)跳轉(zhuǎn)頁面的網(wǎng)址生巡,此方法常常用來做流量統(tǒng)計(jì),即改頁面的訪問流量是從哪些頁面跳轉(zhuǎn)過來的


三種獲得網(wǎng)址的方法

上圖當(dāng)前的頁面是由百度主頁跳轉(zhuǎn)過來的见妒,通過console控制臺(tái)可以看出三種方法得到的網(wǎng)址的類型

7.參考文獻(xiàn)

《Javascript高級(jí)程序設(shè)計(jì)》第三版

8孤荣、討論問題

attributes和property的區(qū)別?



視頻鏈接:http://cache.tv.qq.com/clientportal/v9_6/main.html?cid=&vid=n05023gxah8

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


【it修真院-武漢第167期】常見dom操作有哪些_騰訊視頻


技能樹.IT修真院

“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開始垃环,找個(gè)師兄,帶你入門返敬,掌控自己學(xué)習(xí)的節(jié)奏遂庄,學(xué)習(xí)的路上不再迷茫”劲赠。

這里是技能樹.IT修真院涛目,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化凛澎,成長可見化霹肝,師兄1對(duì)1免費(fèi)指導(dǎo)∷芗澹快來與我一起學(xué)習(xí)吧?沫换!

www.jnshu.com/login/1/95798135



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市最铁,隨后出現(xiàn)的幾起案子讯赏,更是在濱河造成了極大的恐慌,老刑警劉巖冷尉,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漱挎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雀哨,警方通過查閱死者的電腦和手機(jī)磕谅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雾棺,“玉大人膊夹,你說我怎么就攤上這事」复澹” “怎么了割疾?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘉栓。 經(jīng)常有香客問我宏榕,道長,這世上最難降的妖魔是什么侵佃? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任麻昼,我火速辦了婚禮,結(jié)果婚禮上馋辈,老公的妹妹穿的比我還像新娘抚芦。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布叉抡。 她就那樣靜靜地躺著尔崔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褥民。 梳的紋絲不亂的頭發(fā)上季春,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音消返,去河邊找鬼载弄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛撵颊,可吹牛的內(nèi)容都是我干的宇攻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼倡勇,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逞刷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起译隘,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤亲桥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后固耘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體题篷,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年厅目,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了番枚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡损敷,死狀恐怖葫笼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拗馒,我是刑警寧澤路星,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站诱桂,受9級(jí)特大地震影響洋丐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挥等,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一友绝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肝劲,春花似錦迁客、人聲如沸郭宝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粘室。三九已至,卻和暖如春卜范,著一層夾襖步出監(jiān)牢的瞬間育特,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工先朦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犬缨。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓喳魏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親怀薛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刺彩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

  • 之前通過深入學(xué)習(xí)DOM的相關(guān)知識(shí),看了慕課網(wǎng)DOM探索之基礎(chǔ)詳解篇這個(gè)視頻(在最近看第三遍的時(shí)候枝恋,準(zhǔn)備記錄一點(diǎn)東西...
    微醺歲月閱讀 4,459評(píng)論 2 62
  • 一创倔、JS前言 (1)認(rèn)識(shí)JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示)焚碌,會(huì)使用HT...
    凜0_0閱讀 2,755評(píng)論 0 8
  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類型 克服瀏覽器兼容性問題及各種陷阱 DOM 是針對(duì) HT...
    悶油瓶小張閱讀 626評(píng)論 0 1
  • 春花順?biāo)?秋月照獨(dú)州畦攘。一陣西風(fēng)一聲蟬,淚欲流十电。造化愛弄人知押,滿腔是離愁。故地重游,已帶殘陽已帶秋鹃骂。 良辰美景走台盯,月...
    Bryan_Chen閱讀 289評(píng)論 0 4
  • 網(wǎng)站建設(shè)流程: 購買域名; 購買空間畏线; 上傳網(wǎng)頁到空間中静盅; 設(shè)置域名解析; 在空間控制臺(tái)綁定域名寝殴; 域名解析 域名...
    鳳凰社閱讀 367評(píng)論 0 1