1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 </head> 7 <body> 8 <form action="" > 9 <p>用户名:<input type="text" class="username" value="我是用户名啊"> 10 <span style="color: red"></span> 11 </p> 12 <p>密码:<input type="password" ></p> 13 <p><input type="submit"></p> 14 </form> 15 <script src="jquery-3.2.1.js"></script> 16 <script> 17 var $user = $(".username"); 18 //当失去焦点时,若输入的用户名为空则提示密码错误 19 $user.on("blur",function () { 20 if($user.val().length==0){ 21 $user.next().text("不能为空啊"); 22 } 23 }); 24 //当获取焦点之后,清空错误提示和value默认值 25 $user.on("focus",function () { 26 // $user.val().length=0;-------------->不能实现清空value的值 27 $user.val(""); 28 if($user.val().length==0){ 29 $user.next().text(""); 30 // $user.next().val().length=0;-----------> 不能实现清空错误提示 31 } 32 }); 33 </script> 34 </body> 35 </html>
总结:
在获取焦点之后,不能使用对象.val().length=0的形式使标签的文本内容置空。因此,把标签内容进行的修改的时候只能使用.val();在把一个数组、列表、字符串修改其内容的时候可以用.length.