1.Element Traversal API 為DOM元素新增了5個(gè)屬性:
①childElementCount:返回子元素(不包括文本節(jié)點(diǎn)和注釋)的個(gè)數(shù)。
②firstElementChild:指向第一個(gè)子元素;firstChild的元素版。
③lastElementChild:指向最后一個(gè)子元素;lastChild的元素版。
④previousElementSibling:指向前一個(gè)同輩元素;previousSibling的元素版。
⑤nextElementSibling:指向后一個(gè)同輩元素;nextSibling的元素版。
2. innerHTML屬性:
①IE和Opera會(huì)將所有標(biāo)簽轉(zhuǎn)換為大寫形式;
②Safari、Chrome、Firefox:原原本本按照原文檔的格式返回HTML,包括空格和縮進(jìn)。
3.大多數(shù)瀏覽器通過innerHTML插入<script>元素不會(huì)執(zhí)行其中的腳本。IE8及更早版本是唯一能在這種情況下執(zhí)行腳本的瀏覽器。其執(zhí)行條件:
①必須為<script>元素指定defer屬性
②<script>元素必須位于(微軟所謂的)“有作用域的元素”之后。若通過innerHTML插入的字符串開頭就是一個(gè)“無作用域的元素”,那么IE會(huì)在解析這個(gè)字符串前線刪除該元素。
4.在使用innerHTML、outerHTML屬性和insertAdjacentHTML()方法時(shí),最好先手工刪除要被替換的元素的所有事件處理程序和JavaScript對(duì)象屬性。
5. IE9為止有4種文檔模式:
①IE5:以混雜模式渲染頁面。IE8及更高版本的新功能都無法使用
②IE7:以IE7標(biāo)準(zhǔn)模式渲染頁面。IE8及更高版本的新功能都無法使用
③IE8:以IE8標(biāo)準(zhǔn)模式渲染頁面。IE9中的新功能無法使用
④IE9:以IE9標(biāo)準(zhǔn)模式渲染頁面。這個(gè)文檔模式是最高級(jí)的模式
6.強(qiáng)制瀏覽器以某種模式渲染頁面:
①使用HTTP頭部信息X-UA-Compatible
②通過等價(jià)的<meta>標(biāo)簽設(shè)置:<meta http-equiv="X-UA-Compatible" content="IE=IEVersion">
7.IEVersion有以下值:
①Edge:始終以最新的文檔模式來渲染頁面
②EmulateIE9:如果有文檔類型什么,則以IE9標(biāo)準(zhǔn)模式渲染頁面,否則將文檔模式設(shè)置為IE5
③EmulateIE8:如果有文檔類型什么,則以IE8標(biāo)準(zhǔn)模式渲染頁面,否則將文檔模式設(shè)置為IE5
④EmulateIE7:如果有文檔類型什么,則以IE7標(biāo)準(zhǔn)模式渲染頁面,否則將文檔模式設(shè)置為IE5
⑤9:強(qiáng)制以IE9標(biāo)準(zhǔn)模式渲染頁面,忽略文檔類型聲明
⑥8:強(qiáng)制以IE8標(biāo)準(zhǔn)模式渲染頁面,忽略文檔類型聲明
⑦7:強(qiáng)制以IE7標(biāo)準(zhǔn)模式渲染頁面,忽略文檔類型聲明
⑧5:強(qiáng)制以IE5標(biāo)準(zhǔn)模式渲染頁面,忽略文檔類型聲明
8.①scrollIntoView()和scrollIntoViewIfNeeded()的作用對(duì)象時(shí)元素的容器
②scrollByLines()和scrollByPages()影響的是元素自身
9.DOM擴(kuò)展的規(guī)范:
①Selectors API:定義了兩個(gè)方法(querySelector()和querySelectorAll()),讓開發(fā)人員能夠給予CSS選擇符從DOM中取得元素
②Element Traversal:為DOM元素定義了額外的屬性,讓開發(fā)人員能夠更方便地從一個(gè)元素跳到另一個(gè)元素。之所以會(huì)出現(xiàn)這個(gè)擴(kuò)展,是因?yàn)闉g覽器處理DOM元素間空白符的方式不一樣
③HTML5:為標(biāo)準(zhǔn)的DOM定義了很多擴(kuò)展功能。其中包括在innerHTML屬性這樣的事實(shí)標(biāo)準(zhǔn)基礎(chǔ)上提供的標(biāo)準(zhǔn)定義,以及為管理焦點(diǎn)、設(shè)置字符集、滾動(dòng)頁面而規(guī)定的擴(kuò)展API