javascript怎么操作iframe页面里面的dom元素? 20

a页面中有个:<iframeid="test"name="test"src="iframe.html"></iframe>iframe.html页面有个inputtype... a页面中有个:<iframe id="test" name="test" src="iframe.html"></iframe>
iframe.html页面有个 input type="button" value="点击" id="btn">

在a页面中点击iframe页面里面的按钮,然后弹出一个对话框 alert("iframe里面的按钮被成功点击了");
这是我参考写的代码,但是点击按钮根本没弹出,
<script type="text/javascript">
function getIFrameDocument(aID) {
var ifr = document.getElementById(aID).contentWindow.document||document.frames[aID].document;
return ifr;
}
var ifrdoc = getIFrameDocument('test');
var btn=ifrdoc.getElementById('btn');
btn.onclick=function(){alert("iframe里面的按钮被成功点击了");}
</script>
用firebug调试的时候如下错误提示:
TypeError: btn is null
var btn=ifrdoc.getElementById('btn');
哪里错了?正常的操作iframe里面的dom元素,兼容的写法?
展开
 我来答
慕名eib31
推荐于2018-05-09 · TA获得超过1923个赞
知道小有建树答主
回答量:1163
采纳率:85%
帮助的人:451万
展开全部
直接调用iframe对象的document就可以,方法和document里的一样。不过注意,如果iframe是跨越引用的,会受到限制,不能访问其中内容。也就是你不能引用百度的页面,篡改其中的内容,只能改自己网站的。
<iframe src="xxx.html" id="myiframe"></iframe>
<script>
var mydoc=document.getElementById("myiframe").document;
mydoc.write("<div id='newdiv'></div>")
mydoc.getElementById("newdiv").innerText="hello";
</script>
系统004
2012-09-07 · TA获得超过3254个赞
知道大有可为答主
回答量:1326
采纳率:68%
帮助的人:1156万
展开全部
您好:解决办法可以这样,写好操作dom元素的方法,然后在其他页面如果是iframe的话,可以用iframe.praent[“iframe的name”].函数名。可以这样调用。还可以用ajax页面传值。在接受页面判断这个值如果标识什么动作,就执行你写好的那个操作dom的动作就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑壹個
2012-09-07 · TA获得超过403个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:228万
展开全部
没有错!在IE下运行是正确的。在chrome就不一定了。本地文件在chrome测试,一直说跨域操作文件,阻止(按F12转到script可以看到错误)。估计上传到服务器可以。
更多追问追答
追问
在ie下btn.onclick也是没有弹出来啊
追答
我这边可以弹出来啊!
是本地测试不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式