無。
各浏覽器使用 document.id 和 document.name 方法擷取對象引用的支援存在差異。
某些浏覽器中通過 document.id 和 document.name 可能無法擷取元素,導緻腳本異常,功能不可用。
所有浏覽器
浏覽器中每一個 XML 和 HTML 文檔都用一個 Document 對象來表示。
Document 繼承了 HTMLDocument 接口。
HTMLDocument 接口定義了實作它的對象所擁有的方法和屬性。其中包括資源中繼資料管理、DOM 樹的通路、動态标記插入、使用者互動和事件處理屬性等。
W3C 在 HTML5 草案中規定了一系列 DOM 樹節點的通路方式,并不包括 document.id 或 document.name。
通路 DOM 樹中某個節點的方法,W3C 中推薦的是使用 document.getElementById(id),根據一個元素的 id 屬性擷取它的 DOM 節點對象。
還有很多其他的方式,也可以擷取頁面上的元素,但這些方式不是 W3C 标準中規定的,是以對這些方法的支援因浏覽器而異。這其中,就有使用 document.id 或 document.name 擷取元素的方式。
使用 document.id 和 document.name 通路 DOM 樹中節點的方法,可以通路 IMG 元素、IFRAME 元素和 FORM 元素。
除了 Opera IE 同時支援用 document.id 和 document.name 通路這 3 種元素的節點對象外,而其它浏覽器對用其 name 和 id 的支援有所不同。
分析以下代碼:
以上測試用例中使用 document.id 和 document.name 的方法擷取 DOM 樹中的 IFRAME 元素引用,如果存在則傳回 true,否則傳回 false 。
擷取元素後的傳回值将輸出到 info 中
上面測試用例中,IE Opera 均全傳回 true,Firefox 傳回 false,而 Safari Chrome 中 document.id 是 false,document.name 是 true。
用其他元素替換 IFRAME 元素,可以測試其它元素的情況。 如下表:
擷取方式
IE6
IE7
IE8
Firefox
Chrome
Safari
Opera
Q
S
document.div_id
N
document.div_name
document.span_id
document.span_name
document.select_id
document.select_name
document.a_id
document.a_name
document.input_id
document.input_name
document.img_id
Y
document.img_name
document.form_id
document.form_name
document.iframe_id
document.iframe_name
document.object_id
document.object_name
document.embed_id
document.embed_name
說明:
此彙總表中 Q 代表 Quirks Mode,S 代表 Standards Mode;
以 document.element_id、document.element_name 表示擷取方式,如 document.div_id 表示利用 id 屬性擷取 DIV 元素對象,而 document.span_name 表示使用 SPAN 元素的 name 屬性來擷取它的對象。
使用 W3C 标準中的 document.getElementById(id) 方法擷取對象。