本文介绍了访问$(document)之外的变量.ready()& jQuery的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有一个包含在我的html中的.js文件
so I have a .js file that is included into my html
如果我把它放在我的.js文件中,
If I put this inside my .js file,
$(document).ready(function(){
var siteRoot = $('.site-root').val();
alert(siteRoot);
});
代码将正确提醒值,但如果我这样做:
the code would alert the value properly, but if I do this:
var siteRoot = $('.site-root').val();
$(document).ready(function(){
alert(siteRoot);
});
它会警告未定义
有一种方法可以在 $(document).ready()
中访问变量,因为如果我将变量放在$ code $(document) .ready()它不会从其他js文件访问
is there a way to have something that's in $(document).ready()
access variables outside it since if I put the variable inside $(document).ready()
it wouldn't be accessible from other js files
推荐答案
你可以做它是全局的:
// this is the same as your example,
// just wanted to stress that it's a part of the window (global) object
window.siteRoot = $('.site-root').val();
$(document).ready(function(){
alert(window.siteRoot);
});
或者更好的是,使用某种命名空间,如下所示:
Or even better, use some kind of namespace, like this:
var MyData = {};
MyData.siteRoot = $('.site-root').val();
$(document).ready(function(){
alert(MyData.siteRoot);
});
这篇关于访问$(document)之外的变量.ready()& jQuery的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!