2011-08-14 9 views
2

私は、このようなiframeframesetとして多くの子供を含むページを持っている、frameなどiframe、frame、framesetを含むページのidで要素を取得する方法は?

私は要素を返し、だけでなく、すべてのフレームのドキュメントで検索しdocument.getElementById(targetId)のような機能をしたいと思います。

私は、jQueryのようなエクステンションを必要としないソリューションを好むでしょう。

答えて

3

あなたは、単一のフレーム内でのidで検索する

my_iframe_reference.contentDocument.getElementById(targetId) 

を行うことができます。

すべてのフレームを検索する場合は、window.frames配列を繰り返し処理できます。

for(var i=0; i<window.frames.length; i++){ 
    var node = window.frames[i].contentDocument.getElementById('id'); 
    if(node) return node; 
} 
+0

ありがとう、私はそれをテストしましたが、このエラーは 'contentDocumentは未定義です。私のブラウザはie8です – ahoo

+0

代わりに 'contentWindow.document'を試してください:http://stackoverflow.com/questions/1477547/getelementbyid-contentdocument-error-in-ie – hugomg

+0

frames []は' iframes'の配列だけを返します 'frames' 、少なくともIEでは – ahoo

関連する問題