“window.frames[0].variable”在 jquery $(function(){}) 中不起作用?
在 parent.html
中,我设置了一个包含 child.html
的 iframe。
在子框架中,我写了 js:
$(function () {
var child = 6;
})
在父框架中,我写了 js:
$(function () {
alert(window.frames[0].child);
});
但警报结果是“未定义”?
如何使用 jquery 正确引用另一个框架的变量?
In parent.html
I set an iframe with child.html
in it.
in child frame,I write js:
$(function () {
var child = 6;
})
in parent frame,I write js:
$(function () {
alert(window.frames[0].child);
});
but the alert result is "undefined"?
How can I quote another frame's variable correctly with jquery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您看到
undefined
是因为您将其声明为局部变量(范围仅限于document.ready
处理程序),您需要在子框架中使用它全局:此外,不能保证父框架上的
document.ready
不会在子框架之前执行(坚持alert() 在每个中查看顺序)...实际上应该是相反的。如果您不立即使用它,这不是问题……如果您需要稍后执行它。
You're seeing
undefined
because you're delcaring it as a local variable (scoped only to thatdocument.ready
handler), you would need this in the child frame for a global:Also, there's no guarantee that a
document.ready
on the parent frame won't execute before the child frame (stick analert()
in each to see the order)...in fact it should be the opposite. If you're not using it immediately, it's not an issue...if you are you need to execute it later.