替代在div / iframe上使用.remove

时间:2013-02-20 09:44:19

标签: jquery html iframe

目前我有一个链接,点击后会生成一个包含在DIV中的iframe。此DIV包含一个链接,点击后隐藏它。

但是我不想隐藏它,我希望iframe“删除”所以它不在后台运行。

我明白.remove会这样做,但我不能再生成它。

这是目前的代码:

$(document).ready(function() {
    $("#overlay").hide();
});

$("#ShowSlideshow").live('click', function() {
    $("#overlay").show();
    $('#slideshow').html('<iframe border="0" frameborder="0" width="100%" height="100%" src="index.html"></iframe>').show()
});

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#slideshow").hide();
});

以下是DIVS:

<div id="overlay"><a href="#" id="HideSlideshow">Close Slideshow</a>
<div id="slideshow"></div>
</div>

2 个答案:

答案 0 :(得分:2)

您不想删除实际的#slideshow,只是想删除#slideshow中的iframe。像这样:

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#slideshow iframe").remove();
});

答案 1 :(得分:1)

为IFrame提供一些ID并从Div中删除Iframe ...然后它可以工作......

试试下面......

小提琴:http://jsfiddle.net/458bM/50/

HTML:

<div id="overlay"><a href="#" id="HideSlideshow">Close Slideshow</a>

<div id="slideshow"></div>
</div>
<a href="#" id="ShowSlideshow">Show Slideshow</a>

JQuery:

$(document).ready(function() {
    $("#overlay").hide();
});

$("#ShowSlideshow").live('click', function() {
    $("#overlay").show();
    $('#slideshow').html('<iframe border="1" frameborder="1" width="100%" id="iframeshow" height="100%" src="http://www.green.org/"></iframe>').show()
});

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#iframeshow").remove();
});