这是为什么
来源:4-3 编程练习
RiraRain
2019-03-30 15:21:26
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>习题</title> </head> <body> <input type="text" value=""><span></span> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> <script> //此处写代码 var x = $("input"); var y = $("input").val(); x.focus(function(){ $("span").text("请输入用户名"); x.css({"border-color":""}); }); x.blur(function(){ if($(this).val() == ""){ $("span").text("用户名不能为空"); x.css({"border-color":"red"}); }else{ $("span").text(""); x.css({"border-color":"green"}); } }) </script> </body> </html>
如果用 if($(this).val() == "")就没问题,但是如果 if(y == "")这样写就不行,是为什么?
1回答
你好,代码实现效果没有问题。
因为y变量是提前定义获取的内容,那么开始输入框内容为空,y的值就会是空,不会随着输入内容改变而改变,所以不能实现效果。
如果一定要使用y变量的话,可以修改为:
自己可以测试下,祝学习愉快!
相似问题