首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iFrame中的Firebug和jQuery选择器

iFrame中的Firebug和jQuery选择器
EN

Stack Overflow用户
提问于 2010-03-23 04:01:42
回答 2查看 7.3K关注 0票数 13

我正在开发一个web应用程序,并使用jQuery插件Colorbox弹出一个窗口,其中显示了一个用于编辑父窗口元素的窗体。我正在使用Firebug调试我的Javascript和jQuery,并且我注意到我不能使用jQuery控制台命令行选择Colorbox HTML表单中的元素。例如:

日期=$(“# $date”);

从jQuery控制台命令行运行时不返回任何内容,即使我有一个id=为“date”的输入元素,并且Firebug“元素检查”指针可以在iFrame中找到该元素。有没有办法让Firebug的控制台访问iFrame中的元素?

谢谢你的帮忙!道格

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-23 04:28:53

您需要将iframe的文档作为选择器的上下文传递,因为iframe有自己独立的DOM树:

代码语言:javascript
复制
$('#date', $('iframe').get(0).contentDocument);

为了访问iframe的内容,它必须从与父文档相同的域中加载。

只是在这里详细说明,.contentDocument属性在Chrome (和FF)中有效,但在IE<8中不起作用。你必须使用.document

票数 15
EN

Stack Overflow用户

发布于 2010-03-25 07:22:18

您正在寻找这里记录的cd方法:http://getfirebug.com/wiki/index.php/Command_Line_API

这是一个我用来自动跳转到任何iframe Facebook应用程序的书签。它应该提供足够的示例供您修改以供使用。

代码语言:javascript
复制
javascript:with(_FirebugCommandLine){cd($$(".canvas_iframe_util")[0].contentWindow)}

请注意,with通常是不好的做法,但这实际上就是Firebug执行您在控制台中输入的内容的方式,所以我模仿了它。

运行此命令后,您在命令行中键入的所有内容都将在iframe的上下文中执行。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2495313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档