Textbox的length属性永远不会返回0与JQuery

Vin*_*c 웃 1 javascript jquery

我想知道为什么当我使用JQuery获取文本框时,文本框的长度属性永远不会返回0.即使文本框为空,$(element).length也不要返回0.

让我们说我们有这个代码:

<input id="Text1" type="text" />

$(function () {            
    alert($('#Text1').length);
    var textBox1 = document.getElementById("Text1");
    alert(textBox1.value.length);

    $('#Text1').on('input', function() {
        alert($('#Text1').length);
        var textBox1 = document.getElementById("Text1");
        alert(textBox1.value.length);
    });
}); 
Run Code Online (Sandbox Code Playgroud)

JS小提琴在这里

你有$('#Text1').length没有看到,永远不会返回0.使用纯javascript,当文本框为空时它返回0.

为什么?

Mil*_*war 5

你需要使用文本框的价值.val().$(element).length将返回存在的对象数量的长度,$(element)在您的情况下为1:

 $(element).val().length
Run Code Online (Sandbox Code Playgroud)

工作演示