ie插件获取dom_读书笔记《DOM编程艺术》DOM
1.1 D:當創(chuàng)建了一個網(wǎng)頁并把它加載到Web瀏覽器中時,DOM就生成了,它將我們編寫的網(wǎng)頁文檔轉換成一個文檔對象。
1.2 O:“對象”是一種自足的數(shù)據(jù)集合,相關聯(lián)的變量稱為這個對象的屬性,只能通過這個對象調(diào)用的函數(shù)稱為這個對象的方法。
JS中的對象可以分為三種類型:
A、用戶定義對象:程序員自行創(chuàng)建的對象。
B、內(nèi)建對象:Array、Math、Date
C、宿主對象:由瀏覽器提供的對象。
JS最初版本中,非常重要的一些宿主對象就可以使用了,最基礎的對象是Window對象。Window對象對應著瀏覽器窗口本身,這個對象的屬性和方法通常統(tǒng)稱為BOM。
更好理解:(window object model)窗口對象模型。
document對象的主要功能就是處理網(wǎng)頁內(nèi)容。接下來我們基本上只討論document對象的屬性和方法。
1.3 M:model map 某種事物的表現(xiàn)形式
DOM代表著加載到瀏覽器窗口的當前網(wǎng)頁。瀏覽器提供了網(wǎng)頁的地圖,我們可以通過JS去讀取這張地圖。要想從DOM獲得信息,必須先把各種表示和描述文檔的“圖例”弄明白。
DOM把文檔表示為一顆家譜樹。
家譜樹、節(jié)點樹:使用parent、child、sibling等記號來表明家族成員之間的關系。
根元素是html
1.4 節(jié)點: 文檔是由節(jié)點構成的集合。
繼承是CSS技術中的一項強大功能,類似于DOM,CSS也把文檔的內(nèi)容視為一顆節(jié)點樹,節(jié)點樹上的各個元素將繼承其父元素的樣式屬性。
有時我們需要將某些樣式作用于某個特定的元素,需要把元素與其他元素區(qū)分開,需要使用class屬性或id屬性。
calss屬性:為相同的class屬性值相同的所有元素定義同一種樣式。
id屬性:給頁面里的某個元素加上一個獨一無二的標識符。
id屬性就像是一個掛鉤,一頭連接著文檔里的某個元素,另一頭連著CSS樣式表里的某個樣式。DOM也可以使用這種掛鉤。
1.5 獲取元素
有三種DOM方法可以獲取元素節(jié)點:
返回一個對象。
document對象特有的函數(shù)。
document.getElementById(‘xxx’);
文檔中的每一個元素都是一個對象,利用DOM提供的方法能得到任何一個對象。
2.getElementsByTagName
返回一個對象數(shù)組
document.getElementsTagName(‘li’);
即使這個標簽只有一個元素,也返回一個數(shù)組。
3.getElementsByClassName
返回一個對象數(shù)組
document.getElementsClassName(‘yyy’);
也可以結合使用,比如,只要id為xxx的里面的元素。
這個函數(shù),IE8以下有兼容問題。不過,現(xiàn)在,沒有繼續(xù)兼容IE的了吧?瑟瑟發(fā)抖……
1.6 獲取和設置屬性(只能用于元素節(jié)點)
A、getAttribute
object.getAttribute(attribute);
getAttribute方法不屬于document對象,只能通過元素節(jié)點對象調(diào)用。
如果它們沒有某個屬性,將會是返回空白或者null,至于是哪個,要看是什么瀏覽器。
B、setAttribute
對屬性節(jié)點的值做出修改
object.setAttribute(attribute,value)
用在本身就有這個屬性的元素上,就會將原來的值覆蓋掉。
但是,setAttribute做出的修改不會反映在文檔本身的源代碼里。
這種表里不一的現(xiàn)象源自DOM的工作模式:
先加載文檔的靜態(tài)內(nèi)容,再動態(tài)刷新,動態(tài)刷新不影響文檔的靜態(tài)內(nèi)容。
這正是DOM的真正威力:對頁面內(nèi)容進行刷新卻不需要在瀏覽器里刷新頁面。
tips:這五種方法,是將要編寫的許多DOM腳本的基石。
總結
以上是生活随笔為你收集整理的ie插件获取dom_读书笔记《DOM编程艺术》DOM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取两个数据的交集_MySQL交集和差集
- 下一篇: 看完《巨人》,高薪社畜高喊“我是自由的”