这是为什么
来源: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变量的话,可以修改为:

自己可以测试下,祝学习愉快!
相似问题