2012-01-18 69 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