0

いくつかのdivと他の要素を含むiframeがあります。いくつかのテキストボックスのうちの1つにフォーカスを設定したいと思います。

私が使用した:

    a = iFrameObj.contentWindow.document.getElementById('myTxtBox');

   But here, a is null;

次のコードを使用して、テキストボックスオブジェクトにアクセスできます。

var myTextBox = iFrameObj.contentWindow.document.getElementsByTagName('input')[52];

ただし、インデックスをハードコーディングするのではなく、より一般的なメソッドを使用してオブジェクトを取得したいと思います。

このテキストボックスには一意のクラス名があるため、次のコードを試してみました。

var myTextBox = iFrameObj.contentWindow.document.getElementsByClassName('rgtxt')[0];

しかし、私はエラーです:

"Object does not support this property or method"

テキストボックスのHTMLは次のとおりです。

<input name="myTxtBox" type="text" class="rgtxt" id="myTxtBox" value="hello" style="display:block;color:Black;background-color:rgb(240, 241, 241);" readonly="readonly" />

誰かがiFrameのこれら2つの方法の違いを手伝ってもらえますか?

4

3 に答える 3

0

これを試して

 $("#youriFrameID").contents().find("input.rgtxt").focus();

jqueryを使って...

于 2013-02-20T12:13:17.937 に答える
0

getElementsByClassName メソッドは IE9+ でのみ使用できるため、エラー メッセージは正しく (明確ではありませんが)、IE8 にはそのようなメソッドはありません。

ここで詳細を読むことができます: http://msdn.microsoft.com/en-us/library/ie/ff975198(v=vs.85).aspx

于 2013-02-20T12:24:20.227 に答える