我有这段代码,用于在函数 valid_name 不为 true 时显示错误,并在模糊时 valid_name
变为 true 时隐藏错误;
错误显示在最初隐藏的 div 中。
错误出现但并没有消失。
function valid_name() {
if (($("#name").length > 5) && ($("#name").length < 20)) {
return true;
} else {
return false;
}
}
$(document).ready(function() {
$('#name').on('blur', function() {
if (!valid_name())
$("#name_erors").text("invalid name").show();
if (valid_name())
$("#name_erors").hide();
});
});
最佳答案
我认为
$("#name").length
应该
$("#name").val().length
原因 $('#name').length
对找到的元素进行计数,但要对其中的字符进行计数,需要使用
$("#name").val().length
所以函数应该是
function valid_name() {
if (($("#name").val().length > 5) && ($("#name").val().length < 20)) {
return true;
} else {
return false;
}
}
你也可以这样做
function valid_name() {
var value = $('#name').val(), len = value.length;
return len > 5 && len < 40;
}
关于javascript - 隐藏功能jquery不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596614/