jQuery - 如何从iframe中的元素选择iframe的父母?
问题描述:
我有一个iframe中的元素,比如iframe的主体,并且从这个元素中我需要访问该元素所属的特定iframe的所有父项。文档中可能有多个iframe,我只需要特定iframe的父项,并通过选择器(例如类名称)进行过滤。jQuery - 如何从iframe中的元素选择iframe的父母?
如果元素不在iframe内,我只能做element.parents('.class-name');
。我需要检查这个父类是否包含特定的后代(由类名称等选择符过滤)。
如果给定的元素不在iframe内,只返回它的父母而没有任何错误消息。
答
我找到了一个解决方案,我不知道这是否是理想的,但在这里它是:
var $element = jQuery(element);
var element_frame_element = $element[0].ownerDocument.defaultView.frameElement;
var element_parent = ((element_frame_element === null) ? $element : jQuery(element_frame_element)).parents('.class-name')
答
事情是这样的:window.parent.$('.className')
,如果你做了$(“XXX”)最近( “yyy”)在iframe中应该只能找到你在iframe中的“yyy”,它不会检查父窗口。 – artm 2014-09-28 12:05:11
,因为它是一个框架,你将不得不得到'window.parent'这将是主页面窗口,并从那里工作,找到iframe元素 – charlietfl 2014-09-28 12:07:56
[某些信息](http://stackoverflow.com/a/24096958/1169519 )关于如何访问'(i)框架'。 – Teemu 2014-09-28 12:15:34