Ответ 1
При условии, что кадр и его родитель находятся в одном домене. См. SOP
Выполните одну из следующих строк из внутри iframe (
parent
можно заменить на top
, если родительский документ находится в верхнем окне):
//If the parent document doesn't have JQuery:
elm.appendTo(parent.document.getElementById("wrap"));
//Only if JQuery is included at the parent
elm.appendTo(parent.$("#wrap"));
parent.$("#wrap").append(elm);
Если вы хотите захватить элемент внутри фрейма, из контекста parent используйте одно из следующих действий:
Предположим, что #elm
является идентификатором вашего изображения.
// If JQuery is defined at the frame AND the parent (current document)
$("#wrap").append(frames[0].$("#elm"));
frames[0].$("#elm").appendTo($("#wrap"));
frames[0]
относится к первому кадру в текущем документе. Если вы установили атрибут name
в свой фрейм, вы также можете использовать frames.frame_name
или frames["frame_name"]
.
Последний пример: добавление прослушивателя событий
click
к объекту elm
JQuery (image):
elm.click(function(){
parent.$("#wrap").append(this);
})