我有这个问题,因为我减少了我的 jQuery 代码的大小。基本功能是验证表单,如果为空addClass('highlight')
或removeClass('highlight')
. 如果我使用它可以正常工作$(this).attr('id')
,但是当我尝试使其整洁并更改为 时$(this).attr('class')
,removeClass('highlight')
停止工作。我唯一注意到的是有三个.text
class
,我无法找出原因。请帮忙。
问题代码: http: //jsfiddle.net/designpromote/GRG2J/ 工作代码($(this).attr('id')):http: //jsfiddle.net/designpromote/GRG2J/4/ or /3/ (无开关)
我使用switch{}
是因为我需要验证不同类型的输入。
代码列表如下:
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$(function() {
$('#myform :input').blur(function() {
switch($(this).attr('class')) {
case 'text':
if($(this).val() == "") { console.log($(this), $(this).val()); $(this).addClass('highlight');}
else {console.log($(this), $(this).val()); $(this).removeClass('highlight');}
break;
default:
break;
}http://stackoverflow.com/editing-help
});
})
</script>
<style>
.highlight {
border: 2px solid red;
}
</style>
</head>
<body>
<form id="myform">
<input type='text' name='business' id='business' class='text'><br>
<input type='text' name='address' id='address' class='text'><br>
<input type='text' name='city', id='city' class='text'>
</form>
</body>
</html>