A-A+
jQuery同域跨iframe操作DOM例子
下面为各位来介绍一个jQuery同域跨iframe操作DOM例子,如果各位对于jquery跨域操作不了解可以和小编一起来看看本文章吧。
iframe目前还是比较流行的,许多地方都通过它来实现特殊的情况。比如说传统的上传、select在ie6下、代理、跨域等等。今天呢,简要的记述一下跨iframe的相关操作,主要是用jQuery操作DOM结构方面。
1、父框架操作iframe
- <iframe src="a.php" id="aa"></iframe>
- <iframe src="b.php" id="bb"></iframe>
- <input type="button" id="read-aa" value="读取iframe #aa">
- <input type="button" id="write-aa" value="写入iframe #aa">
- jQuery:
- $('#read-aa').click(function()
- {
- var v=$('#aa').contents().find('body').html();
- alert(v);
- });
- $('#write-aa').click(function()
- {
- $('#aa').contents().find('div').append('<hr>这是index.php操作aa.php写入的内容');
- });
主要方法是 contents(),读取iframe。
2、iframe跨父框架操作iframe
bb.php
- <!DOCTYPE html>
- <meta charset="utf-8">
- <title>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</title>
- <script src="public/jQuery.js"></script>
- <script>
- $(function()
- {
- $('#read-parent-aa').click(function()
- {
- var v=$('body',parent.document).find('#aa').contents().find('body').html();
- alert(v);
- });
- $('#write-parent-aa').click(function()
- {
- $('body',parent.document).find('#aa').contents().find('div').append('<hr>这是bb.php操作aa.php写入的内容');
- });
- });
- </script>
- <div>
这是iframe #bb里的内容
- </div>
- <input type="button" id="read-parent-aa" value="跨父读取iframe #aa">
- <input type="button" id="write-parent-aa" value="跨父写入iframe #aa">
主要方法是parent.document。
完整例子:
- <!DOCTYPE html>
- <meta charset="utf-8">
- <title>jQuery操作iframe</title>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
- <iframe src="a.php" id="aa"></iframe>
- <iframe src="b.php" id="bb"></iframe>
- <input type="button" id="read-aa" value="读取iframe #aa">
- <input type="button" id="write-aa" value="写入iframe #aa">
- <script>
- $(function()
- {
- $('#read-aa').click(function()
- {
- var v=$('#aa').contents().find('body').html();
- alert(v);
- });
- $('#write-aa').click(function()
- {
- $('#aa').contents().find('div').append('<hr>这是index.php操作aa.php写入的内容');
- });
- });
- </script>