任何人都可以告诉我为什么下面的例子不起作用:
var obj = $('#example');
function examplefunc(){
obj.hide();
}
虽然第二个工作正常:
function examplefunc(){
var obj = $('#example');
obj.hide();
}
我知道差异是显而易见的 - 在第一个例子中我们有全局变量,而在第二个例子中我们有本地变量。但另一个例子表明函数内部可以访问全局字符串var:
var text = "Hello World!"
function examplefunc(){
alert(text);
}
如何在第一个示例中的函数内部显示全局jQuery对象变量?创建和使用全局jQuery对象有任何限制吗?任何解决方案?
答案 0 :(得分:1)
我猜想你正在执行这行代码:
var obj = $('#example');
在浏览器将ID为example
的元素解析为DOM之前。您可以将<script>
元素移动到文档中的#example
元素下方,或者可以使用文档就绪事件来解决此问题:
var obj;
$(function () { // This function is run after the document is parsed and ready
obj = $('#example');
});
function examplefunc(){
obj.hide();
}