web-dev-qa-db-ja.com

他のフレームのjavascript document.getElementById

だから、私は2つのフレームを持っていて、1つのフレームから別のフレームに要素にアクセスしたいと思います:

フレーム1:

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

フレーム2:

var div=document.getElementById('someId');

div.innerHTML='something'; 

これはFirefoxでどういうわけか機能していないので、確認したいのですが、別のフレームの要素にそのIDでアクセスできますか?

17
ante.sabo

を使用して他のフレームを参照できます

window.frames["framename"]

そして、あなたはDOMを使って要素を参照することができます

window.frames["framename"].document.getElementById ( "yourelementid" );
23
rahul

現在のフレームに問題がある可能性があります。window.frames['framename']が機能しない場合は、parent.frames['framename']を試して、最上位のフレームにアクセスしてください。

if(parent.frames && parent.frames['framename']) {
   var elem = parent.frames['framename'].document.getElementById(...); 
   // etc
}
12
Brian Duncan

JSバージョンに問題がありましたが、動作するjQueryバージョンでこれらの例を使用できました。

var obj = $('#yourelementid', parent.frames["framename"].document);
1
Flea

または、運が良ければ、数値パラメータを使用することもできます。

window.frames[0].document

0
goodhyun

何らかの理由で

window.frames["framename"].document.getElementById ( "yourelementid" );

私のために働いていませんでした。

この他の方法はしました:

   document.getElementById('framename').contentWindow.document.getElementById('yourelementid');
0
drset