隐藏iframe中的元素

时间:2016-08-08 08:30:13

标签: javascript jquery function iframe hide

我有一个iframe(相同的域名),我隐藏了一些我不想从这个iframe中显示的元素。一切正常,但当我点击ul> li list我选择了这个列表中的一个项目,隐藏的元素再次显示出来。

iframe不会更改隐藏的ítems的ID或类似的东西,因此我不知道为什么隐藏的ítems会再次显示。

我现在拥有的解决方案是一个setInterval,它可以隐藏tem,但是在页面中非活动几分钟之后它会折叠页面,所以我需要另一个解决方案。

我试过检测iframe中的点击功能,但是当我选择列表中的项目时,这个功能不起作用。

    $(function(){
        var f=$('#iframe')
        f.load(function(){ 
            f.contents().find("#____bl_k_dd").on('click', function(event) { 
                runAfterTimeout();
            });
        });
    });
    function runAfterTimeout() {
        setTimeout(function(){
            alert("hi its me");
            $('#iframe').contents().find('body').css("background", "green");
        },2000);
    };

我尝试检测元素上的单击函数,它第一次工作,然后它不起作用。

如果我将元素的ID更改为body,它有时会工作,所以它不是解决方案。

1 个答案:

答案 0 :(得分:0)

您可以创建一个css文件并将其添加到您的iframe页面

var $head = $("iframe").contents().find("head");                
$head.append($("<link/>", 
    { rel: "stylesheet", href: "file://path/to/style.css", type: "text/css" }));