2009-08-03 16 views
3

同じiframe内でjqueryクエリを使用してiframeを選択する必要があります。ただし、iframeに一意のIDを割り当てて使用することは望ましくありません。jqueryでiframeを選択する方法

$('#'+self.name,top.document) 

(私はどこかで見ました)。これを行う相対的な方法はありますか($(this)とtraversing ??!?)

すべてが同じサーバー上にあり、xssはありません。

答えて

24

サイトにiFrameが1つしかない場合は、簡単です。このセレクタを使用するだけです。

$('iframe', parent.document) 

これ以上ある場合は、より複雑になります。 iFrameドキュメントにはメインページのiframeがロードされているため、セレクタで親iframeを選択する簡単な方法はありません。ただし、親のID、名前、クラス、またはiframeのソースURLを知っている場合は、その情報を使用して上記のセレクターを変更して、必要なiframeにのみ一致させることができます。メインページのインデックスがわかっている場合は、必要なiframeと一致させることもできます。詳細な応答のための

second iframe (index is starting from 0) 
$('iframe:eq(1)', parent.document); 
+0

ありがとう:

// iframe with MyClass class $('iframe.MyClass', parent.document); // iframe with MyId id $('iframe#MyId', parent.document); // even better since id is unique $('#MyId', parent.document); // iframe with myname name $('iframe[name=myname]', parent.document); // iframe with specific src $('iframe[src=/path/to/iframe/source]', parent.document); // second iframe (index is starting from 0) $('iframe:eq(1)', parent.document); 
Rado

+0

thanx man..awesome solution ... –

+0

本当に良い答えです。役に立った、ありがとう。 – User2

2

は、それがなければならない第二のiframeを選択します。私は何かを見落としていると思っていましたが、今は簡単な方法がないことがわかります。
関連する問題