隐藏iframe中的内容?

Pra*_*nga 6 html javascript css jquery

这是我的情况.

我有一个名为iframe.html的文件.其中包含以下代码,

<!DOCTYPE html>
<html lang="eng">
    <head>
        <meta charset="UTF-8"/>
        <title>Pluign Development</title>

        <script src="js/jquery-1.11.0.js" type="text/javascript"></script>
    </head>

    <body>

        <iframe id="abc" src="test.html"></iframe>
        <div id="sub">click</div>
    </body>

    <script src="js/script-22.js" type="text/javascript"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

我有test.html文件.其中包含以下代码,

<!DOCTYPE html>
<html lang="eng">
    <head>
        <meta charset="UTF-8"/>
        <title>Pluign Development</title>

    </head>

    <body>

        <div id="red">prasanga karunanayake </div>
    </body>


</html>
Run Code Online (Sandbox Code Playgroud)

这是我试过的js代码,

(function($){ 

    var fire = {
        init:function(){
            $('#sub')
            .on('click', function(){
                $('#red', parent.document).css('display','none');
            });
        }
    };
    fire.init();

}(jQuery));
Run Code Online (Sandbox Code Playgroud)

这是我的情况.

我需要隐藏<div id="red">prasanga karunanayake </div>test.html文件中的内容.如果我点击<div id="sub">click</div> 然后隐藏test.html中的html内容.

我很困惑,非常感谢你的帮助.

Jai*_*Jai 9

你可以这样使用.contents():

$('#abc').contents().find('#red').hide();
Run Code Online (Sandbox Code Playgroud)

另一件事是,因为您已将代码包装在一个闭包中,该闭包在页面响应进入浏览器时运行.因此,此代码更改可能无法正常工作.

相反,我建议你为此放一个dom ready块:

(function($){ 
    $(function(){ // <---add this block from here to
      var fire = {
        init:function(){
            $('#sub').on('click', function(){
                $('#abc').contents().find('#red').hide();
            });
        }
      };
      fire.init();
  }); //<----here
}(jQuery));
Run Code Online (Sandbox Code Playgroud)


Luk*_*oft 3

你有没有尝试过

   $('#sub')
    .on('click', function(){
        $('iframe #red').css('display','none');
    });
Run Code Online (Sandbox Code Playgroud)

编辑 首先在 iframe 加载时获取事件,然后创建一个事件处理程序来捕获 #sub div 上的点击,最后在加载的 iframe 中找到红色并将其隐藏

$(function(){
            var f=$('#abc')
            f.load(function(){ 
                  $("#sub").click(function(){
                     f.contents().find('#red').hide(); 
                  });

            })
        })
Run Code Online (Sandbox Code Playgroud)