首页 > 解决方案 > 变量的引用在 jquery 中不起作用

问题描述

有人能告诉我为什么第一个代码片段不起作用,而第二个代码片段起作用。是变量范围的问题还是任何其他问题?

jQuery(document).ready(function($) {
    var displayNo = $(".ue-show-success").css('display', 'none');
    var displayYes = $(".ue-show-error").css('display', 'block');

    $(".somebutton").on('click', function() {
        displayNo;
        displayYes.text('some text');
    });
});

上面的代码没有按预期工作。但低于一个。

jQuery(document).ready(function($) {
    $(".somebutton").on('click', function() {
        $(".ue-show-success").css('display', 'none');
        $(".ue-show-error").css('display', 'block').text('some text');
    });
});

提前致谢

标签: javascriptjquery

解决方案


此语句创建一个对象:

var displayNo = $(".ue-show-success").css('display', 'none');

它不是一个可调用的函数。你必须做这样的事情:

var displayNo = function() {
    return $(".ue-show-success").css('display', 'none');
}

然后,您可以使用括号调用该函数,如下所示:

displayNo();

推荐阅读