
两点
1既然你用jQuery了,为什么还要用getElementById()来获取元素?况且,获取iframe中元素也没这么麻烦啊
$("#id_iframe")contents()find("#id_button_test");这不就好了。。
2你这部分代码是写在ajsp页面中了吧?那我估计之所以不运行,是因为你注册点击事件的时候,bjsp页面还没有加载完。所以尽管你调试的时候能输出,但是代码里是注册不上的。把这段代码写在bjsp的windowonload事件中
①jquery在父页面 获取iframe子页面的元素
代码如下:(objid为子页面的id)
$("#objid",documentframes('iframename')document)
②js 在父页面获取iframe子页面元素代码如下:
windowframes["iframe_ID"]documentgetElementByIdx_x("元素id");
以上两种都能获取到子页面中的元素,再根据元素去获取元素的值就可以了。
你需要在页面加载完成时(而不是刚加载时)执行alert
如果像你这么写
在alert执行的时候
<iframe src="childhtml" id="myframe">
</iframe>
还没有加载
所以找不到这个元素
当然就是null了
下面给你个jquery的例子,以供参考
$(document)ready(function(){alert(documentgetElementById("myframe")contentWindowdocumentgetElementById(" pg"));
})
//1、格式:
windowframes["iframe的name值"]documenttitle;
//实例:
windowframes["ifm"]documenttitle;
//2、格式:
var obj=documentgetElementById("iframe的name")contentWindow;
var ifmObj=objdocumenttitle;
//实例:
var obj=documentgetElementById("ifm")contentWindow;
var ifmObj=objdocumenttitle;
//3、格式:
windowparentdocumentgetElementById("父窗口的元素ID")title;
//实例:
windowparentdocumentgetElementById("ifm")title;
//jquery在父窗口中获取iframe中的元素
//1、格式:
$("#iframe的ID")contents()attr("title");//jquery 方法1
//实例:
$("#ifm")contents()attr("title");//jquery 方法1
//2、格式:
$(selector, windowtopdocument);; //jquery 方法2
//实例:
$(document, windowtopdocument)attr("title");//jquery 方法2
//类似的方法
$(selector, windowtopdocument);
$(selector, windowopenerdocument);
$(selector, windowtopframes[0]document);
Firefox, Chrome 测试通过,没问题。
如果在IE 中有问题, 可能是因为array元素所指向的对象随着子页面关闭,也已经不存在,所以产生错误。
可以在父页面中复制一下被add的obj, 这里用了JSON来复制obj:
var array = [];function addLine(obj){
arraypush(JSONparse(JSONstringify(obj)));
//arraypush(obj);
}
query取得iframe中元素的几种方法
在iframe子页面获取父页面元素
代码如下:
$('#objId', parentdocument);
// 搞定
在父页面 获取iframe子页面的元素
代码如下:
$("#objid",documentframes('iframename')document)
$(documentgetElementById('iframeId')contentWindowdocumentbody)html()
显示iframe中body元素的内容。
$("#testId", documentframes("iframename")document)html();
根据iframename取得其中ID为"testId"元素
$(windowframes["iframeName"]document)find("#testId")html()
用JS或jQuery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!
假设有两个页面,在相同域下
indexhtml 文件内含有一个iframe:
XML/HTML代码
">
原因是这样的 因为用户每次 *** 作js都需要加上一个物理标签。触发这个物理标签只能是鼠标事件。所以进入函数的时候会拥有这个标签能成功执行 但是当你执行ajax 返回的时候物理标签就已经失效了。
所以说 当你ajax执行完毕 就已经不能再次调用其他js jq插件的函数了。 不知道这样解释你明白不
以上就是关于jquery 在父页面中如何获取子页面中的对象全部的内容,包括:jquery 在父页面中如何获取子页面中的对象、jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值、父页面怎么样取得子页面内的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)