2012-01-18 70 views
5

基本上我想包裝在一個div我的網頁上的一些內容。包裹內容不iframe的清爽

我可以做到這一點使用jQuery中的包裝功能,但我的問題是,我在我的內容幾個I幀包含廣告,當你包裹內容它刷新I幀。

從我可以告訴,這是因爲在幕後被克隆被裹入新的div內容。

HTML

<div class="content"> 
    <iframe src="http://something.com/ads"></iframe> 
</div> 

JS

$(content).wrap('awesome_container');

理想情況下,我想只是在一些開放div標籤插槽內容DIV之前和之後幾個親密div標籤,但我不能似乎添加任何div到頁面而不添加關閉標籤。

有誰知道解決這個問題的方法嗎?

乾杯

+0

可能的複製,雖然沒有公認的答案:http://stackoverflow.com/questions/4397270/jquery-wrap-without-refresh 此外,這是一個報告的錯誤。似乎與Firefox的一個問題:http://bugs.jquery.com/ticket/7020 – JSuar 2012-01-18 17:02:41

回答

2

除刪除HTML或製作它的一個副本的,看看你是否可以使用jQuery的分離() 得到想要的結果。這也將讓任何事件,你有這個元素及其子相關仍然之後功能。保留iFrame對象而不是將其關閉可能就足夠了。

var orphan = $(selector).detach() 
someParent.html(orphan); 

讓我知道如果這能幫助:)

+0

這真是奇怪的同樣的問題,似乎工作的時間非常約80%,然後我有點其他20%的怪異行爲,但這可能是我的頁面設置。 謝謝 – Marklar 2012-01-19 11:20:26

0

我認爲wrap在內部使用html方法將標記設置到傳入容器,因爲它的iframe中被刷新。如果使用append方法,它將不會刷新iframe,因爲它只會將元素從一個位置移動到另一個位置。嘗試創建你的真棒contianer,然後在此容器中附加content div。

$('.content').before("<div id='awesome_container' />"); 

$('#awesome_container').append($('.content')); 
+0

與附加功能 – Marklar 2012-01-18 17:08:05