前面我們通過《document.title、document.URL、document.domain、document.referrer使用方法》和《結(jié)合實(shí)例詳細(xì)介紹getElementByld()、getElementsByTagName()及namedItem()使用方法》介紹了documentr的一些屬性和方法,除了屬性和方法,document對(duì)象還有一些特殊的集合。這些集合都是HTMLCollection對(duì)象, 為訪問文檔常用的部分提供了快捷方式,包括:
? ? ? document.anchors,包含文檔中所有帶name特性的元素;
? ? ? document.applets,包含文檔中所有的 元素,因?yàn)椴辉偻扑]使用 元素,
所以這個(gè)集合已經(jīng)不建議使用了;
? ? ? document.forms,包含文檔中所有的
元素,與document.getElementsByTagName(“ form”)得到的結(jié)果相同;
? ? ? document.lmages,包含文檔中所有的元素,與document.getElementsByTagName(“img”)得到的結(jié)果相同;
? ? ? document.links,包含文檔中所有帶href特性的 ? ? ? 這個(gè)特殊集合始終都可以通過HTMLDocument對(duì)象訪問到,而且,與HTMLCollection對(duì)象類似,
集合中的項(xiàng)也會(huì)隨著當(dāng)前文檔內(nèi)容的更新而更新。
? ? ? 由于DOM分為多個(gè)級(jí)別,也包含多個(gè)部分,因此檢測(cè)瀏覽器實(shí)現(xiàn)了DOM的哪些部分就十分必 要了。document.implementation屬性就是為此提供相應(yīng)信息和功能的對(duì)象,與瀏覽器對(duì)DOM的
實(shí)現(xiàn)直接對(duì)應(yīng)。DOMI級(jí)只為documnent.implementation規(guī)定了一個(gè)方法,即hasFeature()。這 個(gè)方法接受兩個(gè)參數(shù):要檢測(cè)的DOM功能的名稱及版本號(hào)。如果瀏覽器支持給定名稱和版本的功能,
剮該方法返回true。
? ? ? 盡管使用hasFeature()確實(shí)方便,但也有缺點(diǎn)。因?yàn)閷?shí)現(xiàn)者可以自行決定是否與DOM規(guī)范的 不同部分保持一致。事實(shí)上,要想讓hasFearture()方法針對(duì)所有值都返回true很容易,但返回true
有時(shí)候也不意味著實(shí)現(xiàn)與規(guī)范一致。例如,Safari 2.x及更早版本會(huì)在沒有完全實(shí)現(xiàn)某些DOM功能的 情況下也返回true。為此,我們建議多數(shù)情況下,在使用DOM的某些特殊的功能之前,最好除了檢測(cè)hasFeature()之外,還同時(shí)使用能力檢測(cè)。
? ?本文僅限內(nèi)部技術(shù)人員查閱學(xué)習(xí)交流,不得作于其他商業(yè)用途.原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.gimmickmag.com 此文禁止轉(zhuǎn)載,謝謝合作!