jQuery 将 iframe 中的元素 append 到其主体父窗口。

标签 jquery iframe append

我有 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_nameframes["frame_name"]

<小时/> 最终示例:向 elm JQuery(图像)对象添加 click 事件监听器:

elm.click(function(){
    parent.$("#wrap").append(this);
})

关于jQuery 将 iframe 中的元素 append 到其主体父窗口。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7639785/

相关文章:

javascript - 如果我将 mouseLeave() 转移到另一个特定的 div,如何防止带有 sliderDown() 的 div 和带有 mouseLeave() 触发器的 SlideUp() 触发?

javascript - jQuery 验证插件不验证 iframe 中的表单

java - 如何在 jtextarea 上 append 文本

python - 为什么 tarfile 模块不允许压缩 append ?

javascript - 停止页面滚动到顶部 jQuery

javascript - DOM 元素删除时是否删除 jquery 插件

javascript - 使用 jQuery 插件作为 Angular 指令

javascript - 当父窗口已经通过身份验证时,iFrame 抑制 https 的身份验证弹出窗口

javascript - 嵌入(iframe 或对象)和修改 (jQuery) 网页

javascript - 单击按钮 jquery 时删除表 tr