2009-11-11 68 views
1

如果我有以下HTML:使用普通JavaScript創建對此HTML元素的引用的最有效方法是什麼?

<div id="container"> 
    <iframe></iframe> 
</div> 

什麼是最有效的方法(主要在性能方面)創建於<IFRAME> DOM元素的引用?我使用的是類似以下內容:

var element = document.getElementById('container').getElementsByTagName('iframe')[0]; 

IIRC,雖然可以的getElementsByTagName是一個緩慢的表演。這不是問題,因爲< div id =「container」>中只有一個元素?

有沒有更簡潔和/或更好的方法來獲取<iframe>?可以肯定地說,它始終是< div id =「container」>的唯一孩子,但並不總是頁面上唯一的<iframe>。

+0

選擇器呢? 'var element = document.querySelector(「#container iframe」);' – 2009-11-11 09:43:00

+0

這不是標準的JavaScript嗎? – Skilldrick 2009-11-11 09:48:20

+0

「Firefox 3.1+,IE8 +(僅在IE8標準模式下)和Safari 3.1+支持querySelector()和querySelectorAll()。」 – Skilldrick 2009-11-11 09:49:09

回答

5

將一個ID放在iframe上,並用gEBI引用它。如果您沒有注意到gEBTN的任何延遲,那麼我建議保持代碼與原來的一樣,並且是提供gEBTN幫助的上下文。

+0

謝謝,我的!對於這個項目,我寧願不給