1

次のHTMLがある場合:

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

<iframe> DOM要素への参照を作成するための(主にパフォーマンスの観点から)最も効果的な方法は何ですか?私は次のようなものを使用しています:

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

ただし、IIRCでは、getElementsByTagNameのパフォーマンスが低下する可能性があります。とにかく<divid= "container">内には要素が1つしかないので、それは問題ではありませんか?

ここで<iframe>を取得するための、より簡潔な、および/またはよりパフォーマンスの高い方法はありますか?これは常に<divid= "container">の唯一の子であると言っても過言ではありませんが、ページ上の唯一の<iframe>であるとは限りません。

4

3 に答える 3

5

iframeにIDを設定し、。で参照しgEBIます。レイテンシーに気付いていない場合はgEBTN、コードをそのままにしておくことをお勧めします。そうすれば、ヘルプのコンテキストを提供できgEBTNます。

于 2009-11-11T09:36:38.213 に答える
4

この場合、パフォーマンスに気付くことはありません。ただし、そうdocument.getElementsByTagNameする場合は、DOMツリー全体をウォークする必要があるため、おそらく気付くでしょう。

常にパフォーマンスが重要であるとは限らないことを忘れないでください。多くの場合、2週間後に再訪したときに、あなたを含む誰にとってもぎこちないように見えるperl-one-linerよりも、明確で読みやすいコードを用意する方がよいでしょう。

Mederが言うようidに、要素に属性を追加できれば、もちろんそれが最善の解決策になります。iframe

于 2009-11-11T09:36:44.610 に答える
0

うーん、コードで大丈夫そうです。このような単純なJavaScriptコードのパフォーマンスを忘れることができると思います。

于 2009-11-11T09:37:27.850 に答える