这是为什么

来源: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回答

好帮手慕星星

2019-03-31

你好,代码实现效果没有问题。

因为y变量是提前定义获取的内容,那么开始输入框内容为空,y的值就会是空,不会随着输入内容改变而改变,所以不能实现效果。

如果一定要使用y变量的话,可以修改为:

http://img.mukewang.com/climg/5ca044a400011fbb05730409.jpg

自己可以测试下,祝学习愉快!

0

0 学习 · 36712 问题

查看课程