我想知道为什么当我使用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);
});
});
你能看到,$('#Text1').length
永远不会返回0.使用纯javascript时,当文本框为空时它会返回0。
为什么?
答案 0 :(得分:5)
您需要使用.val()
获取文本框的值。 $(element).length
将返回$(element)
中存在的对象数量的长度,在您的情况下为1:
$(element).val().length