获取 iframe 的内容

Posted

技术标签:

【中文标题】获取 iframe 的内容【英文标题】:Getting the contents of iframe 【发布时间】:2017-03-02 08:46:47 【问题描述】:

我目前正在尝试查找位于 iframe 中的元素。层次结构是这样的。

html > body > form#form1 > iframe#report-container > html > body > form#form1 > div > pageBreaker

(这是一个 aspx 页面,在一个 aspx 页面中,在 iframe 中使用 ascx 文件)。

我正在尝试找到一个好的 javascript 或 Jquery 方法来获取 pageBreaker 元素。

我试过了:

var jqIframe = $(iframe); 
var doc = jqIframe[0].document.form1; 
var el = doc.getElementById("pageBreaker"); //undefined 

【问题讨论】:

你已经尝试了什么? var jqIframe = $(iframe); var doc = jqIframe[0].document.form1; var el = doc.getElementById("pageBreaker"); //未定义 【参考方案1】:

您不一定需要 jQuery 来执行此操作。

var iFrame = document.getElementById('iFrameId').contentDocument;
var desiredElement = iFrame.getElementById('pageBreaker');

使用文档 API,我们可以轻松获取 iFrame 元素并从中提取内容文档。然后通过它的 ID 定位一个元素是微不足道的。

【讨论】:

感谢您的回答。还有一种方法可以删除该 iframe 中所有 pageBreaker 元素的所有类吗? 听起来您有多个具有相同 ID 的元素? 是的,它们只是出现在分页符中,除此之外,它们并不重要。 HTML Id 应该是唯一的,您应该使用需要共享标识符的类。

以上是关于获取 iframe 的内容的主要内容,如果未能解决你的问题,请参考以下文章

如何获取页面iframe元素内容的高、宽?

jquery如何获取页面中引入iframe网页的内容

使用 jquery 选择器获取 iframe 内容

使用 jQuery 获取 iframe 的 HTML 内容

如何从 iframe 中获取内容类型?

如何使用 jquery 从 iframe 获取内容? [复制]