在iframe中获取h1标记

时间:2013-08-15 14:40:33

标签: javascript jquery dom iframe

我正在尝试在ID为<h1>的iframe中找到f1标记。

简单地尝试$("#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");

获取typeError Object #<HTMLIFrameElement> has no method 'find

如何获取<h1>代码的值?

2 个答案:

答案 0 :(得分:1)

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

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

如果域名不同,那么您运气不好,因为同源政策会拒绝您访问。

答案 1 :(得分:-1)

试试这个

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