• 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)

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

  • 相关阅读:
    TensorFlow笔记-05-反向传播,搭建神经网络的八股
    TensorFlow笔记-04-神经网络的实现过程,前向传播
    TensorFlow笔记-03-张量,计算图,会话
    TensorFlow笔记-02-Windows下搭建TensorFlow环境(win版非虚拟机)
    TensorFlow笔记-01-开篇概述
    Tesseract-OCR-05-主要API功能介绍
    关于博客园美化装修
    Tesseract-OCR-04-使用 jTessBoxEditor 进行训练
    Tesseract-OCR-03-图片文字识别
    Tesseract-OCR-02-Tesseract-OCR 的安装与 环境变量配置
  • 原文地址:https://www.cnblogs.com/ievy/p/2693204.html
Copyright © 2020-2023  润新知