我有一个表单,我希望所有的字段都能被填入。如果一个字段被点击后没有填写,我希望显示一个红色背景。
下面是我的代码。
$('#apply-form input').blur(function () {
if ($('input:text').is(":empty")) {
$(this).parents('p').addClass('warning');
}
});
无论该字段是否被填入,它都会应用警告类。
我做错了什么?
$('#apply-form input').blur(function()
{
if( !$(this).val() ) {
$(this).parents('p').addClass('warning');
}
});
你不一定需要.length
,也不一定要看它是不是>0
,因为无论如何空字符串都会被评估为false,但如果你想为了可读性而这样做。
$('#apply-form input').blur(function()
{
if( $(this).val().length === 0 ) {
$(this).parents('p').addClass('warning');
}
});
如果你确定它总是在一个文本字段元素上操作,那么你可以直接使用this.value
。
$('#apply-form input').blur(function()
{
if( !this.value ) {
$(this).parents('p').addClass('warning');
}
});
你还应该注意,$('input:text')
会抓取多个元素,指定一个上下文,或者如果你只想引用一个单独的元素(前提是上下文的子孙中只有一个textfield),则使用this
关键字。