Javascript DOM的簡(jiǎn)介,節(jié)點(diǎn)和獲取元素詳解
DOM
文檔:DOM中的“D”,當(dāng)創(chuàng)建一個(gè)網(wǎng)頁并把它加載到Web瀏覽器中時(shí),它把編寫的網(wǎng)頁文檔轉(zhuǎn)換為一個(gè)文檔對(duì)象。
對(duì)象:DOM中的“O”,對(duì)象是一種自給自足的數(shù)據(jù)集合。與某個(gè)特定對(duì)象相關(guān)聯(lián)的變量被稱為這個(gè)對(duì)象的屬性,只能通過某個(gè)特定對(duì)象去調(diào)用的函數(shù)被稱為這個(gè)對(duì)象的方法
模型:DOM中的“M”,它是某種事物的表現(xiàn)形式。DOM把一份文檔表示為一顆家譜樹。
節(jié)點(diǎn)
節(jié)點(diǎn):文檔是由節(jié)點(diǎn)構(gòu)成,節(jié)點(diǎn)是文檔樹上的樹枝和樹葉。
DOM中有許多不同類型的節(jié)點(diǎn),如元素節(jié)點(diǎn),文本節(jié)點(diǎn)和屬性節(jié)點(diǎn)。
元素節(jié)點(diǎn):
標(biāo)簽的名字就是元素的名字。文本段落元素的名字是“p” ,無序清單元素的名字是“u1”,列表項(xiàng)元素的名字是“1i”。
元素可以包含其他的元素。在我們的“購(gòu)物清單”文檔里,所有的列表項(xiàng)元素都包含在-一個(gè)無序清單元素的內(nèi)部。事實(shí)上,沒有被包含在其他元素里的唯一元素是元素, 它是我們的節(jié)點(diǎn)樹的根元素。
文本節(jié)點(diǎn):
元素節(jié)點(diǎn)只是節(jié)點(diǎn)類型的種。如果一份文檔完全由一 些空白元素構(gòu)成,它將有一個(gè)結(jié)構(gòu),但這份文檔本身將不會(huì)包含什么內(nèi)容。在內(nèi)容為王的互聯(lián)網(wǎng)上,絕大多數(shù)內(nèi)容都是由文本提供的。如<p>元素包含著的文本是一 個(gè)文本節(jié)點(diǎn)(text node)。
在XHTML文檔里,文本節(jié)點(diǎn)總是被包含在元素節(jié)點(diǎn)的內(nèi)部。但并非所有的元素節(jié)點(diǎn)都包含文本節(jié)點(diǎn)。
屬性節(jié)點(diǎn):
屬性節(jié)點(diǎn)用來對(duì)元素做出更具體的描述。如幾乎所有的元素都有一個(gè)title屬性,我們可以利用這個(gè)屬性對(duì)包含在元素里的東西做出準(zhǔn)確的描述,屬性節(jié)點(diǎn)總是包含在元素節(jié)點(diǎn)中。
獲取元素
有三種DOM方法可以獲取元素節(jié)點(diǎn),分別通過元素ID,標(biāo)簽名字和類名字來獲取。
getElementById()
DOM提供了一個(gè)名為getElementById的方法,這個(gè)方法將返回一個(gè)與那個(gè)有著給定id屬性值的元素節(jié)點(diǎn)對(duì)應(yīng)的對(duì)象,他說document對(duì)象特有的函數(shù),函數(shù)名的后面必須跟有一對(duì)圓括號(hào),這個(gè)圓括號(hào)包含著函數(shù)的參數(shù)。getElementById方法只有一個(gè)參數(shù),你想獲取的那個(gè)元素的id屬性的值必須放在單引號(hào)或雙引號(hào)里document. getElementById(id)。文檔中的每一個(gè)元素都是一個(gè)對(duì)象。DOM提供的方法能得到任何一個(gè)對(duì)象。例如:
document. getElementById(“purchases”)`
getElementsByTagName()
getElementsByTagName方法返回一個(gè)對(duì)象數(shù)組,每個(gè)對(duì)象分別對(duì)應(yīng)著文檔里有著給定標(biāo)簽的一個(gè)元素。這個(gè)方法也只有一個(gè)參數(shù),它的參數(shù)是標(biāo)簽的名字:element.getElementsByTagName(tag) 。
但它返回的是一個(gè)數(shù)組,它與getElementById方法有許多相似之處,如:
document. getElementsByTagName("li");
getElementsByClassName()
這個(gè)方法可以可以通過Class屬性中的類名來訪問元素。getElementsByClassName只接受一個(gè)參數(shù),就是類名:
getElementsByClassName(class)
這個(gè)方法的返回值與getElementsByTagName()類似,都是一個(gè)具有相同類名的元素的數(shù)組。如:
document.getElementsByClassName("sale");
使用這個(gè)方法還可以查找?guī)в卸鄠€(gè)類名的元素,只要在字符串參數(shù)中使用空格分隔類名即可。
總結(jié):
1、一份文檔就是一顆節(jié)點(diǎn)數(shù)。
2、節(jié)點(diǎn)分為不同類型:元素節(jié)點(diǎn)、屬性節(jié)點(diǎn)、和文本節(jié)點(diǎn)等。
3、getElementById將返回一個(gè)對(duì)象,該對(duì)象對(duì)應(yīng)著文檔里的一個(gè)特定的元素。
4、getElementsByTagName和getElementsByClassName將返回一個(gè)對(duì)象數(shù)組,它們分別對(duì)應(yīng)著文檔里的一組特定的元素節(jié)點(diǎn)。
5、每個(gè)節(jié)點(diǎn)都是一個(gè)對(duì)象。
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JS中頁面與頁面之間超鏈接跳轉(zhuǎn)中文亂碼問題的解決辦法
在原頁面一張圖片上添加了一個(gè)鏈接,鏈接中有中文,于是在跳轉(zhuǎn)過程中出現(xiàn)中文亂碼問題,下面給大家分享下解決方案2016-12-12
countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
ECharts實(shí)現(xiàn)數(shù)據(jù)超出Y軸最大值max但不隱藏
這篇文章主要為大家介紹了ECharts實(shí)現(xiàn)數(shù)據(jù)超出Y軸最大值max但不隱藏實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
JS實(shí)現(xiàn)彈出下載對(duì)話框及常見文件類型的下載
JS要實(shí)現(xiàn)下載功能,一般都是這么幾個(gè)過程:生成下載的URL,動(dòng)態(tài)創(chuàng)建一個(gè)A標(biāo)簽,并將其href指向生成的URL,然后觸發(fā)A標(biāo)簽的單擊事件,這樣就會(huì)彈出下載對(duì)話框,從而實(shí)現(xiàn)了一個(gè)下載的功能2017-07-07
詳解JavaScript數(shù)組reduce()方法的高級(jí)技巧
reduce()?是?JavaScript?中一個(gè)很有用的數(shù)組方法,這篇文章主要介紹了JavaScript中reduce()方法的高級(jí)技巧,感興趣的小伙伴可以了解一下2023-03-03
js簡(jiǎn)單實(shí)現(xiàn)豎向tab選項(xiàng)卡的方法
這篇文章主要介紹了js簡(jiǎn)單實(shí)現(xiàn)豎向tab選項(xiàng)卡的方法,涉及javascript實(shí)現(xiàn)tab切換效果的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05
javascript實(shí)現(xiàn)自動(dòng)填寫表單實(shí)例簡(jiǎn)析
這篇文章主要介紹了javascript實(shí)現(xiàn)自動(dòng)填寫表單的方法,以一個(gè)簡(jiǎn)單實(shí)例形式分析了JavaScript結(jié)合瀏覽器設(shè)置實(shí)現(xiàn)自動(dòng)保存表單的相關(guān)技巧,需要的朋友可以參考下2015-12-12
JS使用遮罩實(shí)現(xiàn)點(diǎn)擊某區(qū)域以外時(shí)彈窗的彈出與關(guān)閉功能示例
這篇文章主要介紹了JS使用遮罩實(shí)現(xiàn)點(diǎn)擊某區(qū)域以外時(shí)彈窗的彈出與關(guān)閉功能,結(jié)合實(shí)例形式分析了javascript事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作彈出與關(guān)閉遮罩層相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-07-07

