Javascript $(正文)在iframe中
假设我有一个iframe页面(iframe.html)。在这个页面中,我有一个脚本 $(正文)或$(文档)。现在我想知道它代表什么 它是指iframes正文还是主页正文?如果它代表主页面,如何使其引用iframe?Javascript $(正文)在iframe中,javascript,jquery,dom,iframe,Javascript,Jquery,Dom,Iframe,假设我有一个iframe页面(iframe.html)。在这个页面中,我有一个脚本 $(正文)或$(文档)。现在我想知道它代表什么 它是指iframes正文还是主页正文?如果它代表主页面,如何使其引用iframe?$(“正文”)和文档引用iframe自己的文档 在封装页面中,使用jQuery选择器访问iframe内容 在iframe窗口中,父级可以参考封装页面 如果您在iframe内: $(正文)和$(文档)将引用iframe中包含的文档,通常不知道父页面 如果需要从iframe内访问外部页面
$(“正文”)
和文档
引用iframe自己的文档
- 在封装页面中,使用jQuery选择器访问
内容iframe
- 在
窗口中,iframe
父级可以参考封装页面
$(正文)
和$(文档)
将引用iframe中包含的文档,通常不知道父页面
如果需要从iframe内访问外部页面:
如果需要,您可以使用
window.parent
访问包含iframe的页面。它指的是iframe中的主体。jQuery将始终在当前(第一个父级)文档的上下文中工作。如果您想指定不同的上下文,那就是在使用jquery的上下文参数时
jQuery(选择器,[上下文])
选择器:包含选择器表达式的字符串
上下文:用作上下文的DOM元素、文档或jQuery
因此,
$('body')
指的是IFRAME中的文档,可以认为是隐式执行的:$('body',document)
要获取父框架的文档,您必须执行类似于$('body',parent.document)的操作代码>。这当然会受到跨帧限制,具体取决于您的操作方式。若要使用iframe
查找元素,请尝试以下操作
$("iframeSelector").contents().find("#element_in_iframe").click(function(e){
alert(1);
});
这对于测试您自己来说是微不足道的。您的意思是$(document.body)
。。。或者更好:$('body')
。。。仅仅$(body)
是不起作用的(除非您明确定义一个具有该名称的变量并将document.body
放入其中)$(“#iframe中的#element_”)。单击(函数(e){alert(1);});要使其正常工作,您需要在iframe中包含的页面中连接该事件。因此,如果您在“iframe页面”的加载范围内创建了该事件,它应该会毫无问题地触发。@Diana iframe中的页面是否有jQuery?@Diana:它们是两个独立的文档。@Diana-我想这可能就是您要找的+1.