iframe内的$(body)

时间:2011-08-09 14:22:38

标签: javascript jquery dom iframe

假设我有一个iframe页面(iframe.html)。在这个页面里面,我有一个脚本 $(正文)或$(文件)。现在我想了解它代表什么?

它是指iframes主体还是主页体?如果它重新命名主页面,我如何让它引用iframe?

4 个答案:

答案 0 :(得分:5)

要在iframe中找到元素,请尝试使用

$("iframeSelector").contents().find("#element_in_iframe").click(function(e){ 
   alert(1); 
 });

答案 1 :(得分:3)

$('body')document是指iframe自己的文档。

  • 在封装页面中,使用this通过jQuery选择器访问iframe内容。

  • iframe中,window.parent可以参考封装页面。

答案 2 :(得分:0)

如果您在iframe内:

$(body)$(document)将引用iframe中包含的文档,通常会忽略父页面。

如果您需要从iframe中访问外部页面:

如有必要,您可以使用window.parent访问包含iframe的网页。

答案 3 :(得分:0)

它指的是你的IFRAME旁边的身体。 jQuery将始终在当前(第一个父文档)文档的上下文中工作。如果要指定不同的上下文,那就是使用jquery的上下文参数时。

http://api.jquery.com/jQuery/#jQuery1

jQuery(selector,[context]) selector:包含选择器表达式的字符串 context:用作上下文的DOM元素,Document或jQuery

因此$('body')引用了IFRAME中的文档,可以认为隐含地执行:$('body', document);要获取父框架的文档,您必须执行类似$('body', parent.document);的操作。这当然会受到跨框架限制,具体取决于你是如何做到的。