我有
elm.appendTo('#wrap');
哪里elm
是 iframe 内单击图像的 jquery 对象。我想将该图像 append 到 <div id="wrap">
哪里#wrap
是 iframe 之外页面正文中的 div。所以基本上当我双击 iframe 内的图像时,我希望该图像 append 到 <body>
在 iframe 之外。正文和 iframe 链接都位于同一域中。
最佳答案
前提是该框架及其父框架位于同一域中。请参阅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);
<小时/>
如果您想从父级的上下文中获取框架内的元素,请使用以下任一方法:
假设 #elm
是您的图像的 ID。
// 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"]
。
elm
JQuery(图像)对象添加 click
事件监听器:
elm.click(function(){
parent.$("#wrap").append(this);
})
关于jQuery 将 iframe 中的元素 append 到其主体父窗口。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7639785/