2013-04-26 58 views
0

的身體我有我的[家長]一個隱藏的元素頁面:試圖讓iframe的父窗口元素的數據,並追加到IFRAME

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

而現在,我試圖讓一個iFrame內嵌於該頁面找到.output-data div,將其內容分配給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-data div的HTML內容,但它不工作,我似乎無法弄清楚爲什麼?我在我的網站督察中找不到任何東西?有人知道嗎?

回答

0

在父項中定義一個JS方法(GetData),該方法返回所需的內容。 您可以通過window.parent屬性從iframe調用此方法。

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

Ex: from the iframe: var content = window.parent.GetData() 
+0

我得到'對象[對象全局]有沒有方法「callOutput''在我的父窗口? – 2013-04-26 04:44:32

+0

你是從iframe中調用方法嗎?它必須在父級中定義,但是從iframe – TGH 2013-04-26 04:54:02

+0

Yup中調用。這就是我所做的(這有點讓我不知所措):http://jsfiddle.net/T6dNH/ - 我看不到我出錯了! – 2013-04-26 05:04:27

1

使用選擇上下文參數:

$('div.output-data',window.parent.document).html();