我需要在同一个iframe中选择带有jquery查询的iframe。但是,我不想为iframe分配唯一ID并使用
$('#'+self.name,top.document)
(我在某处看到)。有没有相对的方法来做这个(有$(这个)和遍历??!?)
一切都在同一台服务器上,没有xss。
答案 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;
});