【问题标题】:Targeting an iFrame once with jQuery使用 jQuery 将 iFrame 定位一次
【发布时间】:2010-03-19 14:49:15
【问题描述】:

我有一系列框架 (4) 在页面中用于通过 Ajax 调用创建动态内容的加载。

在每个框架中,我以父级元素为目标并使用相应的内容更新它们,例如

$("#loadingGrid1",top.document).show();
$("#frameSkills",top.document).hide();

在 jQuery 中有一种方法可以代替多次定位父页面上的特定元素,只需将页面一次定位到变量中,例如

var parentPage=$('#frameSkills',top.document);

然后使用这个变量来应用像$(parentPage > #loadingGrid1).hide()这样的内容

希望我已经解释了我所追求的。基本上,我必须在我制作的每个 jQuery 选择器中调用“top.document”,这似乎是一种浪费。

【问题讨论】:

    标签: jquery selector frame targeting


    【解决方案1】:

    Jquery 对象可以像 DOM 节点一样用作上下文。

    var parentPage = $('#frameSkills',top.document);
    $("#myselector", parentPage).dostuff();
    

    或者你可以使用find函数:

    parentPage.find("#myselector").dostuff();
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        这样的东西对我来说似乎最干净:

        var page = $(top.document); //Define once
        page.find("#loadingGrid1").show();
        page.find("#frameSkills").hide();
        

        当您调用$(selector, context) 时,您(无论如何都是这样)在内部调用context.find(selector)...也可以方便地进行读取/写入/链接。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-28
          • 1970-01-01
          • 2015-09-07
          • 2016-08-17
          • 1970-01-01
          • 2011-01-02
          相关资源
          最近更新 更多