標籤:高度自適應 style http color os 檔案 io cti
總結一下iframe在jquery中怎麼操作的,下面我來給各位介紹jquery 擷取iframe子/父頁面的元素及iframe在jquery高度自適應實現方法,各位朋友可參考。
jquery方法:
在iframe子頁面擷取父頁面元素
$(‘#objId‘, parent.document);
在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()
|
在父視窗中操作 選中IFRAME中的所有輸入框:
| 代碼如下 |
複製代碼 |
$(window.frames["iframeSon"].document).find(":text"); |
在IFRAME中操作 選中父視窗中的所有輸入框:
| 代碼如下 |
複製代碼 |
$(window.parent.document).find(":text"); |
iframe架構的HTML:
| 代碼如下 |
複製代碼 |
<iframe src="test.html" id="iframeSon" width="700″ height="300″ frameborder="0″ scrolling="auto"></iframe>
|
1.在父視窗中操作 選中IFRAME中的所有單選鈕
| 代碼如下 |
複製代碼 |
$(window.frames["iframe1"].document).find("input[@type=‘radio‘]").attr("checked","true"); |
2.在IFRAME中操作 選中父視窗中的所有單選鈕
| 代碼如下 |
複製代碼 |
$(window.parent.document).find("input[@type=‘radio‘]").attr("checked","true"); |
iframe架構的:
| 代碼如下 |
複製代碼 |
<iframe src="test.html" id="iframe1″ width="700″ height="300″ frameborder="0″ scrolling="auto"></iframe> |
假設有兩個頁面,在相同域下.
index.html 檔案內含有一個iframe:
XML/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>頁面首頁</title> </head> <body> <iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe> </body> </html> |
iframe.html 內容:
XML/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">www.</div> </body> </html> iframe自適 |
應高度
代碼很簡單:
| 代碼如下 |
複製代碼 |
$("#iPersonalInfo").load(function() { $(this).height($(this).contents().height()); }) |
有一點需要注意的,我也在調試的時候才發現的,耽誤了不少時間。就是綁定事件必須在iframe載入完畢之前綁定,否則不會執行。
以下是jQuery,load事件的概述
在每一個匹配元素的load事件中綁定一個處理函數。
如果綁定給window對象,則會在所有內容載入後觸發,包括視窗,架構,對象和映像。如果綁定在元素上,則當元素的內容載入完畢後觸發。
注意:只有當在這個元素完全載入完之前綁定load的處理函數,才會在他載入完後觸發。如果之後再綁定就永遠不會觸發了。所以不要在$(document).ready()裡綁定load事件,因為jQuery會在所有DOM載入完成後再綁定load事件。
iframe代碼,注意要寫ID
| 代碼如下 |
複製代碼 |
<iframe src="test.html" id="main" width="700" height="300" frameborder="0" scrolling="auto"></iframe>
|
jquery代碼1:
| 代碼如下 |
複製代碼 |
//注意:下面的代碼是放在test.html調用 $(window.parent.document).find("#main").load(function(){ var main = $(window.parent.document).find("#main"); var thisheight = $(document).height()+30; main.height(thisheight); }); |
jquery代碼2:
| 代碼如下 |
複製代碼 |
//注意:下面的代碼是放在和iframe同一個頁面調用 $("#main").load(function(){ var mainheight = $(this).contents().find("body").height()+30; $(this).height(mainheight); }); |
jqueryiframe取得