欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

同域jQuery(跨)iframe操作DOM(实例讲解)

程序员文章站 2022-06-19 21:46:54
frame目前还是比较流行的,许多地方都通过它来实现特殊的情况。比如说传统的上传、select在ie6下、代理、跨域等等。今天呢,简要的记述一下跨iframe的相关操作,主要是用j...

frame目前还是比较流行的,许多地方都通过它来实现特殊的情况。比如说传统的上传、select在ie6下、代理、跨域等等。今天呢,简要的记述一下跨iframe的相关操作,主要是用jquery操作dom结构方面。

. 代码如下:


<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">


. 代码如下:


$('#read-aa').click(function()
{
    var v=$('#aa').contents().find('body').html();
    alert(v);
});
$('#write-aa').click(function()
{

    $('#aa').contents().find('p').append('<hr>这是index.php操作aa.php写入的内容');
});


主要方法是 contents(),读取iframe。

 

2、iframe跨父框架操作iframe

. 代码如下:


<!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('p').append('<hr>这是bb.php操作aa.php写入的内容');
    });
});
</script>
<p>
这是iframe #bb里的内容
</p>
<input type="button" id="read-parent-aa" value="跨父读取iframe #aa">
<input type="button" id="write-parent-aa" value="跨父写入iframe #aa">


html:代码

. 代码如下:


<!doctype html>
<meta charset="utf-8">
<title>jquery操作iframe</title>
<script src="https://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('p').append('<hr>这是index.php操作aa.php写入的内容');
 });
});
</script>