zoukankan      html  css  js  c++  java
  • jQuery,选择器,选择父页面的元素

       最近操作iframe页面元素比较多。涉及到在子页面里控制父页面元素的显示,使用parent.document.getElementById("filterToFloders")获取父页面里id为filterToFloders的元素,或者是从顶层window下找到iframe页面元素的操作-window.parent.frames["setFilterFrame"].document.getElementById("targetFloder"),获取元素。但是现在页面里多半是使用jQuery来获取DOM元素,这样混杂着原生js获取DOM元素的操作,让代码整体看起来不伦不类。后来才发现jQuery选择器本身还可以带一个参数,传递选择的范围的,$("元素标识","元素所在范围")。所让代码变得简洁很多。而且风格统一。

    如下对等操作:

    javascript----------------------------------------------------------------------------jQuery

    parent.document.getElementById("filterToFloders")-----------------------------------$("#filterToFloders",parent.document) //子页面获取iframe父页面的DOM

    window.parent.frames["setFilterFrame"].document.getElementById("targetFloder")----$("#targetFloder",window.parent.frames["setFilterFrame"].document)//子页面获取父页面里的其他iframe子页面里的DOM

    window.frames["iframeChild"].document.getElementById("floader")------------------$("#floader",window.frames["iframeChild"].document)//父页面获取子页面的DOM元素

     

    除此之前还有另一种方法:$(window.frames["iframeChild"].document).find("#floader")(这种方法看到的,还没实际验证。)

    另外可以先用jQuery选中目标父页面或者是目标子页面,在再这页面上进行下一层级DOM元素的寻找。

    父页面获取子页面元素:

    javascript:window.frames["iframeChild"].document    //假如iframe的id为iframeChild

    jQuery:$(window.frames["iframeChild"].document)    //假如iframe的id为iframeChild

    接着获取子页面元素:

    $(window.frames["iframeChild"].document).find("#floader")

    $("#floader",window.frames["iframeChild"].document)

    子页面获取父页面元素雷同。关键是获取要找的页面就行。

  • 相关阅读:
    Knative Serving 进阶: Knative Serving SDK 开发实践
    从求生存到修体系,我在阿里找到了技术人的成长模式
    K8s 学习者绝对不能错过的最全知识图谱(内含 56个知识点链接)
    P1197 [JSOI2008]星球大战
    P1311 选择客栈
    P2822 组合数问题
    贪心 加工生产调度
    P3375 【模板】KMP字符串匹配
    P1025 数的划分
    P1019 单词接龙
  • 原文地址:https://www.cnblogs.com/ievy/p/2693204.html
Copyright © 2011-2022 走看看