0

我的 [父] 页面上有一个隐藏元素:

<div class=output-data style="display:none">
    <h1>Testing!</h1>
</div>

现在,我正在尝试在页面上嵌入一个 iFrame 以查找.output-datadiv,将其内容分配给 var,然后将其作为文档附加到自身。所以我的 iFrame 标记实际上就是这样的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script>
<script>

    var outputData;
    (function($){

        outputData = $(window.parent.document).find('div.output-data').html();
        $(document.body).append(outputData);

})(this.jQuery);

</script>

换句话说,我试图让我的 iFrame 假设并显示.output-datadiv 的 HTML 内容,但它不起作用,我似乎无法弄清楚为什么?我在我的网络检查器中找不到任何东西?有人知道吗?

4

2 回答 2

1

使用选择器上下文参数:

$('div.output-data',window.parent.document).html();
于 2013-04-26T16:43:26.220 回答
0

在返回你想要的内容的父中定义一个 JS 方法(GetData)。您可以通过 window.parent 属性从 iframe 调用此方法。

function GetData(){
  return $(".output-data").html();
}

Ex: from the iframe: var content = window.parent.GetData()
于 2013-04-26T04:32:38.423 回答