-1

我正在尝试<h1>在 iframe 中查找 id 为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");

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

我怎样才能得到我的<h1>标签的价值?

4

2 回答 2

1

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

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

如果域不同,那么您就不走运了,因为同源策略将拒绝您访问。

于 2013-08-15T14:43:57.993 回答
-1

试试这个

$("iframe#f1").contents().find("h1");
于 2013-08-15T14:45:25.003 回答