2013-02-20 4 views
1

В настоящее время у меня есть ссылка, которая при нажатии генерирует iframe, содержащуюся в DIV. Этот DIV содержит ссылку, которая при щелчке скрывает ее.Альтернатива использованию .remove на div/iframe

Однако я не хочу просто спрятать его, я хочу, чтобы 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

Вы не хотите, чтобы удалить фактическую #slideshow, вы просто хотите удалить IFRAME внутри #slideshow. Как так:

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

Отличное спасибо! – Jason

+0

Добро пожаловать :) –

1

Дайте некоторый идентификатор IFrame и Удалить Iframe из Div ... Тогда это работает ...

Попробуйте Ниже ...

Fiddle: 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(); 
}); 
Смежные вопросы