2013-04-02 25 views
6

我注意到以下幾點:HTML元素的ID是否始終可以從窗口對象中獲得?

<div id='myDiv'>...</div> 

<script> 
    myDiv.style.color = 'red'; // I can access the object. 
<script> 

之前實現這一點,我總是使用下列內容:

var x = document.getElementById('myDiv'); 
x.style.color = 'red'; 

我很困惑。第二種方法有什麼意義?第一種方法是否始終有效?

+1

如果我正確地記得第一種方法只適用於IE和某些元素,第二種方法是正確的和交叉瀏覽器的方式 – frisco

+0

我猜想第二種方法實際上符合標準,第一種方法是從前一個時代遺留下來,你可能不應該總是依靠它。 –

+0

使用第二種方法,您可以輕鬆地在各種其他場景中重用變量「x」。 –

回答

2

是否始終可以從窗口對象獲取html元素的ID?

不是。這是一個非標準的微軟主義,一些其他瀏覽器採用了兼容性原因。它很容易出現命名空間衝突,並且不能完全跨瀏覽器兼容:不要這樣做。

第二種方法的要點是什麼?

它是標準的,支持良好的跨瀏覽器(也是跨語言)。

+1

[HTML5將此行爲添加到標準中。](http://www.w3.org/html/wg/drafts/html/master/browsers.html#named-訪問 - 上的窗口對象) – josh3736

相關問題