84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
在父层中使用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