企业网站,个人博客等WordPress网站以及其他语言网站开发定制需求加QQ详聊。

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

JavaScript笔记 码云 97℃ 0评论

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

JS获取

父级获取子级元素:

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];

调用方法:

window.parent.父页面方法;

jQuery获取

父级查找子级元素:

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

调用方法:

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

子级向上查找父级元素:

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

调用方法:

window.parent.父页面方法;

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

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

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

转载请注明:码云笔记 » iframe中如何获取子级和父级元素方法总结

喜欢 (4)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 最近在做项目遇到过这个问题,找了半天也找不到class,才明白有iframe原因导致,看了楼主分享问题已解决
    Rooster2018-10-31 09:51 回复
    • 码云
      感谢认可,嘿嘿
      mybj2018-10-31 10:11 回复