js与jQuery 获取父窗、子窗的iframe

在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素、或者在iframe框架中使用父窗口的元素

js

在父窗口中获取iframe中的元素 

1、

格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").click();

实例:window.frames["ifm"].document.getElementByIdx_x("btnOk").click();

2、

格式:

var obj=document.getElementByIdx_x("iframe的name").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("iframe中控件的ID");

ifmObj.click();

实例:

var obj=document.getElementByIdx_x("ifm").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("btnOk");

ifmObj.click();

在iframe中获取父窗口的元素

格式:window.parent.document.getElementByIdx_x("父窗口的元素ID").click();

实例:window.parent.document.getElementByIdx_x("btnOk").click();

jquery

在父窗口中获取iframe中的元素 

1、

格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1

实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1

2、

格式:$("#iframe中的控件ID",document.frames("frame的name").document).click();//jquery 方法2

实例:$("#btnOk",document.frames("ifm").document).click();//jquery 方法2

在iframe中获取父窗口的元素

格式:$('#父窗口中的元素ID', parent.document).click();

实例:$('#btnOk', parent.document).click();


Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法


一、在父窗口中获取iframe中的元素 


1、


格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1


实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1


2、


格式:$("#iframe中的控件ID",document.frames("frame的name").document).click();//jquery 方法2


实例:$("#btnOk",document.frames("ifm").document).click();//jquery 方法2


二、在iframe中获取父窗口的元素


格式:$('#父窗口中的元素ID', parent.document).click();


实例:$('#btnOk', parent.document).click();


三、在iframe中获取同级iframe的元素


格式:$('#同级iframe元素ID', parent.frames("frame的name").document).click();


实例:$('#btnOk', parent.frames("ifm").document).click();

另外对于javascript操作iframe对象有几点需要说明的是:

iframe里的js要操作父级窗口的dom,必须搞懂几个对象:

parent是父窗口(如果窗口是顶级窗口,那么parent==self==top),

top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),

self是当前窗口(等价window),

opener是用open方法打开当前窗口的那个窗口;

这样iframe里的js要操作父级窗口的dom可以通过parent,top这些对象来获取父窗口的window对象,例如:
1.parent.document.getElementById("dom ID"); 


parent,top还能调用父级窗口的的js方法,比如,getIFrameDOM(iID)是父级窗口的一个方法,那么iframe里可以使用parent.getIFrameDOM("wIframeA")来调用父级窗口的getIFrameDOM(iID)方法。

你可能感兴趣的:(前端)