如果我有以下HTML:
<div id="container">
<iframe></iframe>
</div>
创建对&lt; iframe&gt;的引用的最有效方式(主要是在性能方面)是什么? DOM元素?我正在使用以下内容:
var element = document.getElementById('container').getElementsByTagName('iframe')[0];
但是,IIRC,getElementsByTagName可能会表现缓慢。这不是问题,因为&lt; div id =“container”&gt;中只有一个元素。呢?
是否有更简洁,和/或效果更好的方式来获取&lt; iframe&gt;这里?可以肯定地说它始终是&lt; div id =“container”&gt;的唯一子项,但并不总是唯一的&lt; iframe&gt;在页面上。
答案 0 :(得分:5)
在iframe上添加ID并使用gEBI
引用它。如果您没有注意到gEBTN
的任何延迟,那么我建议保持代码不变,并且为gEBTN
帮助提供上下文。
答案 1 :(得分:4)
在这种情况下,你不会注意到性能。但是如果你做document.getElementsByTagName
,你可能会注意到它,因为它必须遍历整个DOM树。
请记住,这并不总是与性能有关,在许多情况下,最好是拥有清晰易读的代码,然后 perl-one-liner 对任何人都会显得粗鲁,包括你,当他们在2周后重新访问它时。
如果您可以向id
元素添加iframe
属性,这当然是Meder所说的最佳解决方案。
答案 2 :(得分:0)
嗯,似乎代码没问题。我认为你可以忘记这些简单的javascript代码的性能。