繁体   English   中英

jQuery全局对象在函数内部不起作用

[英]jQuery global object doesn't work inside function

任何人都可以告诉我为什么下面的示例不起作用:

var obj = $('#example');

function examplefunc(){
    obj.hide();
}

虽然第二个可以正常工作:

function examplefunc(){
    var obj = $('#example');

    obj.hide();
}

我知道区别很明显-在第一个示例中,我们具有全局变量,而在第二个示例中,我们具有局部变量。 但是另一个示例表明,可以在函数内部访问全局字符串var i:

var text = "Hello World!"

function examplefunc(){
    alert(text);
}

在第一个示例中,如何使全局jQuery对象变量在函数内部可见? 创建和使用全局jQuery对象有任何限制吗? 有什么办法吗?

我会冒昧地猜测您正在执行以下代码行:

var obj = $('#example');

浏览器将具有example ID的元素解析为DOM之前。 您可以通过将<script>元素移到文档中的#example元素下方来解决此问题,或者可以使用文档就绪事件:

var obj;

$(function () {  // This function is run after the document is parsed and ready
    obj = $('#example');
});

function examplefunc(){
    obj.hide();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM