二、DOM

1、DOM:Document Object Model.
document:網(wǎng)頁加載到瀏覽器中時,DOM將網(wǎng)頁文檔轉(zhuǎn)化為一個文檔對象。
Object:JavaScript的對象分為三種類型:
用戶自定義對象(一般不討論這種對象)
內(nèi)建對象(非常重要)
宿主對象(通常稱為BOM:瀏覽器對象模型,不必太糾結(jié)BOM)
Model:模型,或者稱為Map(地圖)
把文檔的各個元素當(dāng)做節(jié)點(diǎn),將文檔構(gòu)成一個“節(jié)點(diǎn)數(shù)”

2、節(jié)點(diǎn)
元素節(jié)點(diǎn):構(gòu)成了文檔模型的框架
文檔節(jié)點(diǎn):文檔的內(nèi)容
屬性節(jié)點(diǎn):決定了文檔的表現(xiàn)形式
元素節(jié)點(diǎn)包含了屬性節(jié)點(diǎn)和文檔節(jié)點(diǎn)

3、獲取元素
getElementById()
寫法:document.getElementById(id) 只有一個參數(shù),返回的結(jié)果是一個元素節(jié)點(diǎn)對應(yīng)的對象
getElementsByTagName( )
寫法:document.getElementsByTagName(tag) 只有一個參數(shù),返回的結(jié)果是一個數(shù)組這個數(shù)組包含的是名為tag的元素節(jié)點(diǎn)的對象
getElementsByClassName( )
寫法:document.getElementsByClassName(class) 只有一個參數(shù),返回的結(jié)果是一個數(shù)組,這個數(shù)組包含的是同一個class名的元素節(jié)點(diǎn)的對象
Tips:1.typeof操作符:可以告訴我們他的操作數(shù)的類型。exp:
typeof document.getElementById(id); 返回的結(jié)果是Object,說明它的操作數(shù)是一個對象
2.通配符“*”:獲取元素的后兩個方法允許把通配符作為它的參數(shù),這意味著,對應(yīng)的每個元素都將被返回在數(shù)組里。

4、獲取和設(shè)置屬性
getAttribute:使用方式:object.getAttribute(attribute);這樣就可以獲取到這個對象的屬性值
判斷某個對象的屬性值是否為空的方法,exp:
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);
}
在檢查某項(xiàng)數(shù)據(jù)是否為null時,if語句可以更簡便:if(title_text) … if(something)與if(something!=null)完全等價

setAttribute:使用方式:object.setAttribute(attribute,value);它允許我們對屬性節(jié)點(diǎn)的值做出修改。

Tips:DOM的工作模式:
先加載文檔的靜態(tài)內(nèi)容,再動態(tài)刷新,動態(tài)刷新時不影響文檔的靜態(tài)內(nèi)容。這正是DOM的真正威力:對頁面內(nèi)容進(jìn)行刷新卻不需要在瀏覽器里刷新頁面。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類型 克服瀏覽器兼容性問題及各種陷阱 DOM 是針對 HT...
    悶油瓶小張閱讀 775評論 0 1
  • 問答部分 一、dom對象的innerText和innerHTML有什么區(qū)別? innerText~是一個可寫屬性,...
    dengpan閱讀 474評論 1 0
  • 網(wǎng)上找到的一些小知識,記錄一下。 //獲取拼音字母(傳入漢字字符串, 返回大寫拼音字母) - (NSString ...
    等待_人閱讀 486評論 0 0
  • 時間過得真快??!從開學(xué)那天到現(xiàn)在,多少天了?54天吧!對于自己寫日記的“突發(fā)奇想”我想專門用這篇文章說一說! 二年...
    劉婧_閱讀 487評論 4 5
  • 如果做夢 荷爾蒙可以不再跳動 肆意一萬年里的風(fēng)吹草動 愛的浪漫在激流中奔涌 燈光里月色下緋色的夜色 映照著上帝派出...
    簫逸塵閱讀 151評論 0 2

友情鏈接更多精彩內(nèi)容