この記事では、js を使用して iframe の要素にコードがあるかどうかを判断する方法を紹介します。詳細を知りたい友人は、参考として入力してください。
1. 純粋なオリジナルの js 実装メソッド、コードは次のとおりです:
<script> var bb = document.getElementById('PreviewArea').contentWindow.document.getElementById('aPic'); if( bb ) { } else { } //apic为子页面Preview.aspx里面元素的Id </script> <body> <iframe name="PreviewArea" id="PreviewArea" scrolling="yes" width="100%" height="290" frameborder="1" src="Preview.aspx"></iframe> </body>
2. 人気の jquery 実装メソッド、コードは次のとおりです:
if($(window.frames["iframepage"].document).find('.l-grid-row-cell').length > 0){ alert(1); }else{ alert(2); }
上記のコードは、iframe 内の CSS を決定します。 iframepage の ID が 1 の場合、grid-row-cell の要素が存在するかどうか。
添付
iframe内の要素を取得するJqueryのメソッドをいくつか
iframeサブページ内の親ページ要素を取得する
$('#objId', parent.document); // 搞定... 在父页面 获取iframe子页面的元素 $("#objid",document.frames('iframename').document) $(document.getElementById('iframeId').contentWindow.document.body).html()
iframeにbody要素の内容を表示する
$("#testId", document.frames("iframename").document).html(); 根据iframename取得其中ID为"testId"元素 $(window.frames["iframeName"].document).find("#testId").html()
2.JSでアクセスするjQuery ページ内の iframe は IE/FF と互換性があります
注: フレーム内のページはドメインを越えることはできません!
同じドメインの下に 2 つのページがあるとします。
index.html ファイルには iframe:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>页面首页</title> </head> <body> <iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe> </body> </html>
iframe が含まれています.html コンテンツ:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>iframe.html</title> </head> <body> <div id="test">m.sbmmt.com</div> </body> </html>
1.index.html で JS を実行して直接アクセスします:
document.getElementById('koyoz').contentWindow.document.getElementById('test').style.color='red'
index.html 内の ID 名「koyoz」の iframe ページにアクセスし、この iframe ページ内の ID 名「test」のオブジェクトを取得し、その色を赤に設定します
このコードはテスト済みで、IE をサポートできます。 /Firefox。
2. jQueryを使用してindex.html:
$("#koyoz").contents().find("#test").css('color','red');
このコード効果は直接 JS アクセスと同じです。jQuery フレームワークを使用すると、コードが短くなります。
さらに、一部のネットユーザーは次の例を提供しました。
jQuery を使用して、IFRAME の親ウィンドウの要素の値を取得します。 DOM メソッドと jquery メソッドを組み合わせる方法を使用する必要があります。
1. 親ウィンドウの IFRAME のラジオ ボタンをすべて選択します
$(window.frames["iframe1"].document).find("input:radio").attr("checked","true ") ;
2. IFRAME の親ウィンドウ内のすべてのラジオ ボタンを選択します
$(window.parent.document).find("input:radio").attr("checked","true"); window は IFrame 内の Iframe を取得したいので、次のように子フレームを追加するだけです:
$(window.frames["iframe1"].frames["iframe2"].document).find("input: radio") .attr("checked","true")