Javascript if/else语句无法按预期工作

Lov*_*ock 0 javascript jquery function

如果内容的长度为0,则使用CKEDITOR并尝试禁用提交按钮,然后在键盘上,再次检查该功能并查看该值是否大于1,如果是,则将提交按钮设置为启用.

所以我们在这里:

CKEDITOR.on('instanceReady', function(){
    disableNewPost();
    var e = CKEDITOR.instances['newpost'];
    e.on( 'keyup', function() {
        disableNewPost();
    });
});

function disableNewPost() {
    var value = CKEDITOR.instances['newpost'].getData();
    var valueL = value.length
    if ($(valueL) < 1) {
        $(".addnewpostbtn").prop("disabled", true);
    } else if ($(valueL) > 0) {
        $(".addnewpostbtn").prop("disabled", false);
    }
}
Run Code Online (Sandbox Code Playgroud)

这会正确获取值和长度,如果发出警报(值)或警报(valueL),它会显示它所显示的内容.

但if语句似乎不起作用.

在页面加载时,CKEDITOR没有内容,并且警报显示其长度为0.

但是使用上面的if语句它不会禁用该按钮.我已经尝试了所有可以想到的变化(==''/ == 0)等等但是没有运气.

如果函数只包含:

$(".addnewpostbtn").prop("disabled", true);
Run Code Online (Sandbox Code Playgroud)

然后它会禁用.

有帮助吗?

Bar*_*mar 5

您无需调用$来评估普通变量.它应该是:

if (valueL < 1) {
    $(".addnewpostbtn").prop("disabled", true);
} else {
    $(".addnewpostbtn").prop("disabled", false);
}
Run Code Online (Sandbox Code Playgroud)

或更简单地说:

$(".addnewpostbtn").prop("disabled", valueL === 0);
Run Code Online (Sandbox Code Playgroud)