iframe中如何获取子级和父级元素方法总结

iframe在开发中多多少少会用到,尤其是在开发系统时,但是这会让我们前端面临一个问题,那就是如果iframe嵌套过多了就会导致元素获取不到,或者是不好获取,那么,iframe中如何获取子级和父级元素呢?今天我把我们常用的方法做了一个总结,方便日后查看学习,也为后来的小伙伴提供参考。推荐阅读《 iframe的初步认识》《iframe安全性探索》《iframe自适应之广告设计

JS获取

父级获取子级元素:

1
window.frames[iframe的name属性值];

调用方法:

  1. document.getElementById(“子页面元素ID”).contentWindow.子页面方法名;
  2. document.getElementsByTagName(“子页面元素标签名”)[i].contentWindow.子页面方法名;
  3. document.getElementsByClassName(“子页面元素类名”)[i].contentWindow.子页面方法名;

子级获取父级元素:

  1. window.parent.document.getElementById(“父页面元素ID”);
  2. window.parent.document.getElementsByTagName(“父页面元素标签名”)[i];
  3. window.parent.document.getElementsByClassName(“父页面元素类名”)[i];

调用方法:

1
window.parent.父页面方法;

jQuery获取

父级查找子级元素:

1
$(iframe选择器).contents().find(iframe中元素选择器);

调用方法:

1
$(iframe选择器)[0].contentWindow.子页面方法名;

子级向上查找父级元素:

  1. $(父页面元素选择器, window.parent.document);
  2. window.parent.$(父页面元素选择器)window.parent.父页面方法;

调用方法:

1
window.parent.父页面方法;

当嵌套三层,或者更多时:

1
$('iframe').contents().find('iframe').contents().find("iframe")......

东西很简单,当做笔记记录一下。

未经允许不得转载:码云笔记 » iframe中如何获取子级和父级元素方法总结
喜欢(0) 打赏

评论2

评论前必须登录!

  1. #1
    最近在做项目遇到过这个问题,找了半天也找不到class,才明白有iframe原因导致,看了楼主分享问题已解决
    Rooster2018-10-31 9:51:31

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

在线客服

在线客服

  • 扫描二维码,微信联系 扫描二维码,微信联系