Jquery选择器长度返回0

Jquery选择器长度返回0,jquery,Jquery,这是我的代码,当我运行$fullScreenEl length return zero代码时,我不明白为什么。如果从(函数($){}(jQuery)移动文档准备就绪;然后,$('.full screen').lengh返回1。有人能给我提些建议吗 这样更改: var app = app || {}; (function ($) { app.initialize = { init: function () { app.initialize.full

这是我的代码,当我运行$fullScreenEl length return zero代码时,我不明白为什么。如果从(函数($){}(jQuery)移动文档准备就绪;然后,$('.full screen').lengh返回1。有人能给我提些建议吗

这样更改:

var app = app || {};

(function ($) {
    app.initialize = {
        init: function () {
            app.initialize.fullScreen();
        },
        fullScreen: function () {
            var scrHeight = $window.height();
            console.log($fullScreenEl.length);
            $fullScreenEl.css('height', scrHeight);
        }
    };

    app.documentOnReady = {
        init: function () {
            app.initialize.init();
        }
    };


    var $window = $(window),
        $fullScreenEl = $('.full-screen');

    $(document).ready(app.documentOnReady.init);

})(jQuery);

文档准备好后,您必须选择元素。另外,通过将
$window
$fullScreenEl
移动到
全屏
函数内部,性能会更好,因为在范围外访问变量要比在同一范围内访问变量慢。

您正在
就绪
处理程序外部初始化
$fullScreenEl
(function ($) {
    app.initialize = {
        init: function () {
            app.initialize.fullScreen();
        },
        fullScreen: function () {

           var $window = $(window),
               $fullScreenEl = $('.full-screen');

            var scrHeight = $window.height();
            console.log($fullScreenEl.length);
            $fullScreenEl.css('height', scrHeight);
        }
    };

    app.documentOnReady = {
        init: function () {
            app.initialize.init();
        }
    };


    $(document).ready(app.documentOnReady.init);

})(jQuery);