我正在尝试在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>
代码的值?
答案 0 :(得分:1)
假设iframe
的内容来自与父窗口相同的域,您可以使用contents()
:
$("#f1").contents().find("h1");
如果域名不同,那么您运气不好,因为同源政策会拒绝您访问。
答案 1 :(得分:-1)
试试这个
$("iframe#f1").contents().find("h1");