a页面通过iframe引入b页面,当需要在a中访问b页面里面的元素的时候可以归纳为三种方式。首先看下a页面引入b页面的html:
<div id="cont"> <iframe id="tab_iframe" src="iframe_embed.jsp" frameborder="0" height="100%" width="100%"></iframe> </div>
被引入的b页面结构如下:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>被嵌入的页面</title> <script type="text/javascript" src="<%=request.getContextPath()%>/rs/js/jquery-1.12.4.min.js"></script> <style type="text/css"> .div1{ border: 1px solid black; } </style> </head> <body> <div class="div1"> <p id="p1">我是被嵌入的页面</p> <p id="p2">我是被嵌入的页面</p> <p id="p3">我是被嵌入的页面</p> </div> </body> </html>
现在在a页面中书写jquery代码访问b页面的元素:
var iframeEle=$("#tab_iframe").get(0); // contentDocument:获取iframe的document对象 contentWindow:获取iframe的window对象 var iframeDocumentObj=iframeEle.contentDocument||iframeEle.contentWindow.document; var selected=$(iframeDocumentObj).find("#p1"); selected.text("通过方式一访问到iframe里面的东西"); $("#tab_iframe").contents().find("#p2").text("通过方式二访问到iframe里面的东西"); //使用jquery的上下文环境 $("#p3",iframeDocumentObj).text("通过方式三访问到iframe里面的东西");