我有这个HTML页面:
<div> this is the outside page </div>
<iframe id="ifr">
(#document node)
<html>
<p> a node within iframe </p>
</html>
</iframe>
在外部页面中加载js。如何使用iframe中的<iframe>
元素选择<p>
对象?
大多数网络资源都可用于从内部 iframe&#34;中选择父元素。 (使用window.parent
)。他们的js在iframe中加载。我再一次在外面运行脚本。
我设法获得#document
节点 -
$(clicked_object).parents('html').parent()
其中clicked_object
表示我点击了iframe中的<p>
标记。
这给了iframe页面的#document
节点,没有任何问题。
但如果我写
$(clicked_object).parents('html').parent().parent()
它给出了[]
。
其他文献教导如何从父页面中按id(例如<iframe>
)选择$('iframe#ifr')
元素。但通过这种方式,我无法获得in-iframe元素的父。
因此,一种可能的方法是向onclick
元素添加<p>
属性,调用父侦听器函数,并传递一些东西(如#document
node)作为参数;然后查看与特定<iframe>
匹配的所有#document
元素。
答案 0 :(得分:1)
如果你使用javascript就可以使用它(假设你使用了onclick或addeventlistener:
function something(clicked)
{
var ifrparent = clicked.parentNode.parentNode;
}
编辑: 如果p标签位于iframe的src中,那么在你的onclick函数中,你将使用
var ifrparent = window.frameElement.parentNode;
这应该返回iframes父