在iframe中获取h1标记

get h1 tag within iframe

本文关键字:h1 标记 获取 iframe      更新时间:2023-09-26

我正试图在id为f1的iframe中找到一个<h1>标记。

简单地尝试$("#f1").find("h1")返回一个空集。

所以我想可能是因为iframe中没有jquery,所以我不能使用这些方法。

所以我尝试了几种不同的方法。没有jquery:

var el = document.getElementById;
el.getElementsByTagName("h1");

没有运气。这也没有什么意义,因为getElementsByTagName是文档的一个方法。虽然我觉得iframe可能是一个单独的文档。

最后我尝试添加jquery

var el = document.getElementById("f1")
var s = document.createElement("script");
s.src = "http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js";
el.appendChild(s);

它将jquery附加到iframe中。我可以在嵌入iframe的文档头部的检查器中看到它。然而

var el = document.getElementById("f1");
el.find("h1");

获取类型错误Object #<HTMLIFrameElement> has no method 'find

如何获取<h1>标记的值?

假设iframe的内容与父窗口来自同一域,则可以使用contents():

$("#f1").contents().find("h1");

如果域名不同,你就倒霉了,因为同源政策会拒绝你访问。

试试这个

$("iframe#f1").contents().find("h1");