84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
在父层中使用iframe嵌入html子页面,想要在父层中操作子页面中的值,使用了$("#img1", document.iframes('large').document)或window.frames["large"].document.getElementById("img1")都不对,大家都是怎么操作的那?
$("#img1", document.iframes('large').document)
window.frames["large"].document.getElementById("img1")
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
var iObj = document.getElementById(‘iId‘).contentWindow;
换一种方法思考,如果你想修改子页面的值,那可以修改完毕之后传给父层中,给父层顶一个隐藏的input标签,parent.$('#父层中input标签的ID').val(‘iframe页面中的值’);
frameName.window.frameFun()
这样可以在父html中调用子html的函数了。要给父html的iframe添加一个name名称,然后替换上面的frameName就可以了。而在子html中可以操作内部的控件,这样就实现了父层操作子层的效果。
我介绍一个不常用的方式吧。我们可以使用postmessage。用这个可以不用在主副之间切换。直接操作都是在各自的document内部。大致逻辑是,父页面创建事件,子页面监听,然后执行相应逻辑。可以看看这个postmessage&&api
换一种方法思考,如果你想修改子页面的值,那可以修改完毕之后传给父层中,给父层顶一个隐藏的input标签,parent.$('#父层中input标签的ID').val(‘iframe页面中的值’);
这样可以在父html中调用子html的函数了。要给父html的iframe添加一个name名称,然后替换上面的frameName就可以了。而在子html中可以操作内部的控件,这样就实现了父层操作子层的效果。
我介绍一个不常用的方式吧。我们可以使用postmessage。用这个可以不用在主副之间切换。直接操作都是在各自的document内部。大致逻辑是,父页面创建事件,子页面监听,然后执行相应逻辑。
可以看看这个
postmessage&&api