第三章 DOM對(duì)象

“M”

map or model芍秆。 DOM代表著加載到瀏覽器窗口的當(dāng)前網(wǎng)頁(yè)蚂蕴。瀏覽器提供了網(wǎng)頁(yè)的地圖鼎天,通過(guò)js去讀取這張地圖晶通。

“D”

節(jié)點(diǎn)樹塘慕;DOM把網(wǎng)頁(yè)文檔轉(zhuǎn)換為文檔對(duì)象

"O"

自足的數(shù)據(jù)集合赎婚;屬性和方法

  • 用戶定義對(duì)象
  • 內(nèi)建對(duì)象 Array Date Math
  • 宿主對(duì)象 window document

window對(duì)象對(duì)應(yīng)著瀏覽器窗口本身-BOM(瀏覽器對(duì)象模型)WOM


  1. 節(jié)點(diǎn)
  • 元素節(jié)點(diǎn):DOM的原子
  • 文本節(jié)點(diǎn):內(nèi)容
  • 屬性節(jié)點(diǎn):title css class
  1. CSS
  • 繼承是CSS技術(shù)中的一項(xiàng)強(qiáng)大功能逊彭。

  • 節(jié)點(diǎn)樹

  • class
    .className{ font-style:italic; }//class屬性值相同的所有元素定義同一樣式 element.className{ text-transform:uppercase; }//為一種特定類型的元素定義特定樣式

  • id :添加獨(dú)一無(wú)二的標(biāo)識(shí)符 “掛鉤”
    #idName{ border:1px solid white; background-color:#333; color:#ccc; padding:1em; }//獨(dú)享的樣式
    :為包含在id里的其他元素指定樣式

  1. 獲取元素:3種DOM方法
  • getElementById

返回的是一個(gè)對(duì)象瓦戚,可用typeof操作符來(lái)驗(yàn)證;
alert(typeof document.getElmentById("idName"));

  • getElementsByClassName

H5新增的摸吠;返回對(duì)象數(shù)組空凸;
查找?guī)в卸鄠€(gè)類名的元素
document.getElementsByClassName("important sale");//與順序無(wú)關(guān),只要同時(shí)帶有
用已有的DOM方法實(shí)現(xiàn)自己的getElementsByClassName
function getElementsByClassName(node, classname){ if(node.getElementByClassName){ //使用現(xiàn)有方法 return node.getElementByClassName(classname); }else{ var results = new Array(); var elems = node.getElementByClassName("*"); for(var i=0; i<elems.length; i++){ if(elems[i].className.indexOf(classname)!=-1){ results[results.length]=elems[i]; } }return results; } }//node表示DOM樹中的搜索起點(diǎn)寸痢,此函數(shù)不適用于多個(gè)類名

  • getElementsByTagName

返回一個(gè)對(duì)象數(shù)組呀洲,
alert(document.getElementsByTagName("tag").length);//獲取數(shù)組長(zhǎng)度
簡(jiǎn)化:把document.getElementsByTagName("tag")賦值給一個(gè)變量

var items = document.getElementsByTagName("tag");
允許把一個(gè)通配符作為它的參數(shù)
alert(document.getElementsByTagName("*").length);
結(jié)合使用
var shopping = document.getElementById("purchases"); var items = shopping.getElementsByTagName("*")

  1. 盤點(diǎn)
  • 一份文檔就是一顆節(jié)點(diǎn)樹
  • 節(jié)點(diǎn)分為不同的類型:元素節(jié)點(diǎn)(每個(gè)元素節(jié)點(diǎn)都是一個(gè)對(duì)象)、屬性節(jié)點(diǎn)啼止、文本節(jié)點(diǎn)等
  • getElementById 將返回一個(gè)對(duì)象道逗,該對(duì)象對(duì)應(yīng)著文檔里的一個(gè)特定的元素節(jié)點(diǎn)。
  • getElementsByTagNamegetElementsByClassName 將返回一個(gè)對(duì)象數(shù)組献烦,分別對(duì)應(yīng)文檔里的一組特定的元素節(jié)點(diǎn)滓窍。
  • 每個(gè)節(jié)點(diǎn)都是一個(gè)對(duì)象,并天生帶方法巩那,通過(guò)預(yù)定義方法還可改變?cè)氐膶傩?/li>
  1. 獲取和設(shè)置獲得元素的屬性
  • getAttribute

不屬于document對(duì)象吏夯,不能通過(guò)document對(duì)象調(diào)用;只能通過(guò)元素節(jié)點(diǎn)對(duì)象調(diào)用即横。object.getAttribute(attribute)
`//與getElementsByTagName合用
var paras = document.getElementsByTagName("p");

for(var i=0; i <paras.length;i++){
var title_text = paras[i].getAttribute("title");
if(title_text!=null){
alert(title_text);
}
}//獲取每個(gè)<p>元素的titile屬性`

  • setAttribute

對(duì)節(jié)點(diǎn)屬性進(jìn)行修改
object.setAttribute(attribute,value);
** setAttribute做出的修改不會(huì)反映在文檔本身的源代碼里锦亦,這種“表里不一”的現(xiàn)象源自DOM的工作模式:先加載文檔的靜態(tài)內(nèi)容,在動(dòng)態(tài)刷新令境,動(dòng)態(tài)刷新不影響文檔的靜態(tài)內(nèi)容。對(duì)頁(yè)面內(nèi)容進(jìn)行刷新卻不需要在瀏覽器里刷新頁(yè)面顾瞪。**


nodeName
nodeValue
childNodes
nextSibling
parentNode
...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舔庶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子陈醒,更是在濱河造成了極大的恐慌惕橙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钉跷,死亡現(xiàn)場(chǎng)離奇詭異弥鹦,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)爷辙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門彬坏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人膝晾,你說(shuō)我怎么就攤上這事栓始。” “怎么了血当?”我有些...
    開(kāi)封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵幻赚,是天一觀的道長(zhǎng)禀忆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)落恼,這世上最難降的妖魔是什么箩退? 我笑而不...
    開(kāi)封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮佳谦,結(jié)果婚禮上戴涝,老公的妹妹穿的比我還像新娘。我一直安慰自己吠昭,他們只是感情好喊括,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著矢棚,像睡著了一般郑什。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蒲肋,一...
    開(kāi)封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天蘑拯,我揣著相機(jī)與錄音,去河邊找鬼兜粘。 笑死申窘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的孔轴。 我是一名探鬼主播剃法,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼路鹰!你這毒婦竟也來(lái)了贷洲?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晋柱,失蹤者是張志新(化名)和其女友劉穎优构,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雁竞,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钦椭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碑诉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彪腔。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖进栽,靈堂內(nèi)的尸體忽然破棺而出漫仆,到底是詐尸還是另有隱情,我是刑警寧澤泪幌,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布盲厌,位于F島的核電站署照,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吗浩。R本人自食惡果不足惜建芙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懂扼。 院中可真熱鬧禁荸,春花似錦、人聲如沸阀湿。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)陷嘴。三九已至映砖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灾挨,已是汗流浹背邑退。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劳澄,地道東北人地技。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像秒拔,于是被迫代替她去往敵國(guó)和親莫矗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

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

  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類型 克服瀏覽器兼容性問(wèn)題及各種陷阱 DOM 是針對(duì) HT...
    悶油瓶小張閱讀 638評(píng)論 0 1
  • 一砂缩、JS前言 (1)認(rèn)識(shí)JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu))作谚,知道了CSS樣式(也稱為表示),會(huì)使用HT...
    凜0_0閱讀 2,769評(píng)論 0 8
  • 節(jié)點(diǎn)層次 DOM 可以將任何 HTML 和 XML 文檔描繪成一個(gè)由多層節(jié)點(diǎn)構(gòu)成的結(jié)構(gòu)梯轻。節(jié)點(diǎn)分為幾種不同的類型,每...
    云之外閱讀 538評(píng)論 0 1
  • 總會(huì)不開(kāi)心尽棕,又會(huì)默默在心里安慰自己:自己就是自己喳挑,沒(méi)有什么值得不開(kāi)心的。自卑在我的骨子里根深蒂固滔悉。我其實(shí)是害怕別人...
    敢己閱讀 162評(píng)論 0 0
  • 桃花幾朵春棲處伊诵, 楊柳新垂錦鯉出。 暗暗梧桐凋舊葉回官, 片片玉蘭粉面敷曹宴。
    且笑西風(fēng)閱讀 255評(píng)論 0 2