簡體   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