选择iframe中元素的iframe parent,在iframe外部执行

时间:2014-07-18 17:24:21

标签: javascript jquery html iframe

我有这个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元素。

1 个答案:

答案 0 :(得分:1)

如果你使用javascript就可以使用它(假设你使用了onclick或addeventlistener:

function something(clicked)
{
    var ifrparent = clicked.parentNode.parentNode;
}

编辑: 如果p标签位于iframe的src中,那么在你的onclick函数中,你将使用

var ifrparent = window.frameElement.parentNode;

这应该返回iframes父