Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   удаление iframe (https://javascript.ru/forum/misc/34202-udalenie-iframe.html)

zaytsewa 24.12.2012 12:46

удаление iframe
 
Всем привет!
Есть div, внутрь которого добавляются и удаляются iframe.

При удалении iframe остаётся рамка от него. Как с этим бороться?

При добавлении потом нового iframe, он добавляется после этой рамки, те остаётся пустое место( дырка ) от предыдущего удалённого фрейма.

<div id='frames_div'>
</div>


в родительском окне добавляется новый iframe:

$("#add_btn").click(function(){
	var v = $(document.createElement("iframe"));
	v.attr("src","form1.html");
	$("#frames_div").append( v );
});


удаляется он сам из себя, кнопка удаления в нём же самом
$("#close_btn").click( function(){
	var v = $(this).parent();
	v.remove();
});


есть какой-то способ корректного удаления фрейма самого из себя, или надо кнопку удаления помещать в родительский фрейм?

Deff 24.12.2012 14:13

Цитата:

Сообщение от zaytsewa
есть какой-то способ корректного удаления фрейма самого из себя, или надо кнопку удаления помещать в родительский фрейм?

$("#close_btn").click( function(){
    $("#frames_div iframe",parent.document.body).remove();
});

zaytsewa 24.12.2012 14:18

#frames_div это id-шник div-элемента, куда помещаются все iframe, у ifame'ов нет id-шников, непонятно по какому принципу их заводить...( как в бд наверное.. )

zaytsewa 24.12.2012 14:20

или тут #frames_div iframe удаляются все дочерние iframe от #frames_div ???

мне нужно, чтобы удалялся именно тот iframe, которому принадлежит #close_btn, на которую нажали

Deff 24.12.2012 14:24

zaytsewa,
Если iframe не один - присвойте им уникальные id и удаляйте по id
К примеру:
#frames_div #iframe_1

zaytsewa 26.12.2012 12:43

не могу разобраться в чём причина
var arr = document.location.search.split("?id=");
	var str = "#frames_div #"+arr[1]
	alert( $(str,parent.document.body).prop('tagName') )


выводит undefined, те какой-то не тот элемент находит...

вообщем похоже на то, что какая-то проблема строковая
ума не приложу какая именно
var str = "#frames_div #"+arr[1] и $(str)

ruslan_mart 26.12.2012 13:17

zaytsewa, потому что запятая должна быть взята в кавычки :)

zaytsewa 26.12.2012 13:41

эээ не поняла... там один аргумент в скобках что ли??

zaytsewa 26.12.2012 13:48

я думала что по смыслу первый селектор второй относительно какого родителя...

так
var str = "#frames_div #"+arr[1]+","+parent.document.body
	alert(str)
	alert( $(str).prop('tagName') )


бред получается...

parent.document.body - это ведь не строка, а объект

ruslan_mart 26.12.2012 14:28

var arr = document.location.search.split("?id=");
    var str = "#frames_div #"+arr[1]
    alert( $(str+', '+parent.document.body).prop('tagName') )

Можно вот так попробовать. :)

И вообще:
$(str).parent('body').prop('tagName');


Часовой пояс GMT +3, время: 08:52.