我想为空文本输入字段添加边框。所以我写了下面的代码。但它没有用。所以我使用警告框来了解选择了多少选择器。但它返回0.我错了什么?
$("input[type=submit]").click(function(){
var empty = $('input:text[value=""]');
alert(empty.length);
if(empty.length >0){
$("form").effect("shake",{
times:3,
distance : 50
},450,function(){
$('input:text[value=""]').each(function(){
$(this).css("border","1px solid red");
});
});
return false;
}
});
答案 0 :(得分:6)
尝试使用.filter()
来实现此目的,在更改其中的值时,值属性不会受到影响。
$('input:text').filter(function(){
return $.trim(this.value).length == 0;
}).css("border","1px solid red");
答案 1 :(得分:1)
试试这个:
$("input[type=submit]").click(function(){
var isShake = 0;
$('input:text').filter(function(){
if ($.trim(this.value).length == 0){
isShake = 1;
$(this).css("border","1px solid red");
}else{
$(this).css("border","1px solid black");
}
});
if(isShake){
alert('Shake Effect or something like');
}
});
<强> Check JSFiddle Demo 强>