如何使用jquery从自身中选择iframe

时间:2009-08-03 06:21:57

标签: jquery iframe

我需要在同一个iframe中选择带有jquery查询的iframe。但是,我不想为iframe分配唯一ID并使用

$('#'+self.name,top.document)

(我在某处看到)。有没有相对的方法来做这个(有$(这个)和遍历??!?)

一切都在同一台服务器上,没有xss。

3 个答案:

答案 0 :(得分:26)

如果您的网站上只有一个iFrame,则很容易。只需使用此选择器

 $('iframe', parent.document)

如果你有一个以上它会变得更复杂。 iFrame文档没有关于它加载了哪个主页面iframe的线索,因此没有简单的方法可以选择父iframe。如果你知道父ID,姓名,类甚至iframe源网址,你可以使用该信息修改上面的选择器,只匹配你想要的iframe。如果您知道主页上的索引,也可以匹配所需的iframe。

 // iframe with MyClass class
 $('iframe.MyClass', parent.document);

 // iframe with MyId id
 $('iframe#MyId', parent.document);
 // even better since id is unique
 $('#MyId', parent.document);

 // iframe with myname name
 $('iframe[name=myname]', parent.document);

 // iframe with specific src
 $('iframe[src=/path/to/iframe/source]', parent.document);

 // second iframe (index is starting from 0)
 $('iframe:eq(1)', parent.document); 

答案 1 :(得分:2)

要选择第二个iframe,必须是:

second iframe (index is starting from 0)
$('iframe:eq(1)', parent.document);

答案 2 :(得分:1)

您可以在iframe中按特定元素(以下示例中的类)进行过滤

$('iframe', parent.document).filter(function (index, element) {
    return $(element).contents().find('.specific-element').length;
});