DOM的理解與操作

一張忽悠圖

圖不重要妻坝,看字!

有一定的JS基礎(chǔ)后赚抡,就可以進入dom環(huán)節(jié)了纠屋,dom使得網(wǎng)頁的交互效果得到完美呈現(xiàn)售担,可以說dom真正打開了網(wǎng)頁和用戶之間的通道橋梁,日常生活中我們點擊鼠標(biāo)岩四,敲擊鍵盤哥攘,甚至于無意間觸碰到屏幕(觸摸屏),都會或多或少或大或小的得到一些躲藏起來的內(nèi)容耕姊。

打開淘寶栅葡,在輸入框輸入商品時,下拉的推薦商品:


搜索欄下拉提示

或是當(dāng)打開某個不想再瀏覽的網(wǎng)頁時规脸,右上角的那個×:


關(guān)閉按鈕

這些大部分都存在DOM的身影莫鸭。

這里的“DOM”横殴,通常來講,叫做DOM 文檔對象模型氏身,通過操縱DOM,可以隨意更改內(nèi)容航徙,樣式陷虎,或者增刪改查尚猿,因為網(wǎng)頁是在瀏覽器中顯示的,整個瀏覽器是BOM伴榔,所以DOM其實是BOM的一部分庄萎,BOM 就是 window對象 ,DOM 就是 document(文檔)對象援奢。

獲热碳瘛:

如果該元素砸脊,是網(wǎng)頁的必備元素,而且只能有一個脓规,可以通過document對象直接獲取侨舆。比如:圖片的src屬性:


圖片標(biāo)簽

任由我們怎么去修飾圖片的顯示绢陌,但它本身的路徑屬性是獨有的脐湾,所以我們可以直接獲取:


src屬性

更多的時候愁铺,我要需要獲取網(wǎng)頁中的指定元素,這就需要專門的方法來獲取了茂洒,這里列舉幾個方法:

getElementById()方法瓶竭,根據(jù)元素的id屬性值來獲取指定的元素斤贰,因為ID的唯一性,使得該方法需要搭配ID選擇器使用瓷叫,如果網(wǎng)頁里ID重復(fù)時送巡,它會獲取第一個:


getElementById()方法

getElementsByTagName()方法授艰,根據(jù)元素的標(biāo)簽名獲取所有該元素,該方法獲取的是所有該標(biāo)簽的元素糟需,以偽數(shù)組的形式呈現(xiàn):


getElementsByTagName()方法


運行結(jié)果

getElementsByClassName()方法洲押,根據(jù)元素的類選擇器名稱獲取所有該元素圆凰,該方法獲取的途徑是標(biāo)簽的類,也就是class屬性挑童,由于擁有該屬性的標(biāo)簽可能不只一個跃须,所以該方法獲得的也是一個偽數(shù)組(還有菇民,可以看方法名投储,凡是帶Elements的大多數(shù)都是偽數(shù)組):


getElementsByClassName()方法


運行結(jié)果

getElementsByName()方法玛荞,根據(jù)元素的name屬性值獲取所有該元素呕寝,相同的性質(zhì)壁涎,有name屬性的標(biāo)簽也不少:


getElementsByName()方法


運行結(jié)果

querySelector()方法怔球,根據(jù)選擇器的名稱返回元素,如果有多個元素闽巩,只返回第一個元素担汤,這個方法就比較常用了,而且IE這個啥也不咋適配的瀏覽器現(xiàn)在幾乎不咋能見到了隅很,可以多多考慮用他了該方法是? ES6新增率碾,無論是ID 還是class都可以選所宰,但是和上面區(qū)別的是選ID時前面要加#號,選class時前面要加“.”:


querySelector()方法


運行結(jié)果

區(qū)別于Elements婴谱,這里是個單數(shù)谭羔,所以只會獲取一個斟冕,要是想獲取多個相同的,就用querySelectorAll()吧景描!querySelectorAll()看這個ALL就知道它是用來選全部的:


querySelectorAll()方法


運行結(jié)果

最后這倆方法更實用超棺,可以選取CSS幾乎所有選擇器呵燕,而且querySelectorAll()得到的數(shù)組數(shù)據(jù)后還可以使用數(shù)組的方法。

操作DOM的樣式氧苍,有多種方式:

通過style屬性直接設(shè)置

通過className屬性設(shè)置類選擇器

也可以通過classList屬性添加多個類選擇器

操作DOM的內(nèi)容:

innerText屬性让虐,用于獲取 和 操作 DOM的文本內(nèi)容罢荡。


innerText屬性


運行結(jié)果

innerHTML屬性区赵,用于獲取 和 操作 DOM的HTML內(nèi)容:


innerHTML屬性


運行結(jié)果


創(chuàng)建和刪除:

createElement()方法笼才,用于創(chuàng)建DOM元素:


createElement()方法


運行結(jié)果

appendChild()方法骡送,用于在當(dāng)前DOM元素中添加子元素:


appendChild()方法


運行結(jié)果(頁面)


運行結(jié)果(控制臺)


刪除元素有兩種寫法:

自刪 remove()方法各谚,是元素刪除自己:


?remove()方法


運行結(jié)果(頁面)

通過父級刪除子級 removeChild()方法昌渤,是刪除元素里面指定的子元素:


?removeChild()方法


運行結(jié)果(頁面)

走過路過膀息,留個贊再走唄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甸赃,一起剝皮案震驚了整個濱河市冗酿,隨后出現(xiàn)的幾起案子络断,更是在濱河造成了極大的恐慌貌笨,老刑警劉巖襟沮,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膀跌,居然都是意外死亡固灵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門暑认,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蘸际,“玉大人徒扶,你說我怎么就攤上這事〉挤兀” “怎么了圈澈?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長递递。 經(jīng)常有香客問我啥么,道長悬荣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任竟趾,我火速辦了婚禮酵熙,結(jié)果婚禮上驰坊,老公的妹妹穿的比我還像新娘。我一直安慰自己察藐,他們只是感情好舟扎,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著譬猫,像睡著了一般羡疗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柳刮,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天秉颗,我揣著相機與錄音送矩,去河邊找鬼。 笑死菇怀,一個胖子當(dāng)著我的面吹牛蒸其,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钥顽,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼靠汁,長吁一口氣:“原來是場噩夢啊……” “哼闽铐!你這毒婦竟也來了兄墅?” 一聲冷哼從身側(cè)響起澳叉,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎五督,沒想到半個月后瓶殃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡基矮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年家浇,在試婚紗的時候發(fā)現(xiàn)自己被綠了慈鸠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片青团。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芦昔,靈堂內(nèi)的尸體忽然破棺而出娃肿,到底是詐尸還是另有隱情,我是刑警寧澤料扰,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布晒杈,位于F島的核電站,受9級特大地震影響帖努,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜污桦,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一匙监、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梭纹,春花似錦致份、人聲如沸础拨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝠引。三九已至蛀柴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸽疾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工冒窍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留豺鼻,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓谬莹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親笆凌。 傳聞我的和親對象是個殘疾皇子士葫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

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