1

目前我有一个链接,单击该链接会生成一个包含在 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>
4

2 回答 2

2

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

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#slideshow iframe").remove();
});
于 2013-02-20T09:46:07.187 回答
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>

查询:

$(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();
});
于 2013-02-20T09:56:25.433 回答