Javascript 使用jQuery和";如果/否则“;生动活泼

Javascript 使用jQuery和";如果/否则“;生动活泼,javascript,jquery,Javascript,Jquery,我带着另一个jQuery问题回来了,呜!这就是我要做的,我有一个文本字段,如果用户没有输入任何内容,我希望它的背景变成红色,如果输入了什么内容,它的背景变成绿色。这两个检查都在“模糊”上进行,我正在使用“.animate()”更改背景色。(我有jQuery颜色可以让我设置颜色动画)。这是我的剧本: <head> <script type="text/javascript" src="assets/javascript/jQuery.js"></script&

我带着另一个jQuery问题回来了,呜!这就是我要做的,我有一个文本字段,如果用户没有输入任何内容,我希望它的背景变成红色,如果输入了什么内容,它的背景变成绿色。这两个检查都在“模糊”上进行,我正在使用“.animate()”更改背景色。(我有jQuery颜色可以让我设置颜色动画)。这是我的剧本:

<head>
    <script type="text/javascript" src="assets/javascript/jQuery.js"></script>
    <script type="text/javascript" src="assets/javascript/jQuery-color.js"></script>
    <script>
    var jQ=jQuery.noConflict();

    var fullNameValue=jQ(".fullName").attr("value");

    jQ(document).ready(function(){
        jQ(".fullName").blur(function(){
            if(fullNameValue==null || fullNameValue==""){
                jQ(".fullName").animate({
                    backgroundColor: "#AF383C",
                    color: "#FFFFFF"
                });
            }
            else{
                jQ(".fullName").animate({
                    backgroundColor: "#78BB6C",
                    color: "#000000"
                });
            }
        });
    });
    </script>
</head>

var jQ=jQuery.noConflict();
var fullNameValue=jQ(“.fullName”).attr(“value”);
jQ(文档).ready(函数(){
jQ(“.fullName”).blur(函数(){
如果(fullNameValue==null | | fullNameValue==“”){
jQ(“.fullName”).animate({
背景颜色:“AF383C”,
颜色:“FFFFFF”
});
}
否则{
jQ(“.fullName”).animate({
背景色:“78BB6C”,
颜色:“000000”
});
}
});
});
当前,在blur上,文本字段变为红色,即使在文本字段中输入了某些内容,这可能意味着我的if语句有问题,对吗?

您的“fullNameValue”变量是在
字段本身还不在DOM中时建立的。该语句应该在“blur”处理程序中

只有在“模糊”实际发生时检查值,您所做的操作才有意义

进一步澄清:

var fullNameValue=jQ(".fullName").attr("value");
该语句将“fullNameValue”设置为字段的值。如果以后该值发生变化,则变量将不更新;它仍然是执行语句时值的副本

最后,最好使用
.val()
获取表单字段的值:

var fullNameValue = jQ(".fullName").val();
“fullNameValue”变量是在
字段本身还不在DOM中时建立的。该语句应该在“blur”处理程序中

只有在“模糊”实际发生时检查值,您所做的操作才有意义

进一步澄清:

var fullNameValue=jQ(".fullName").attr("value");
该语句将“fullNameValue”设置为字段的值。如果以后该值发生变化,则变量将不更新;它仍然是执行语句时值的副本

最后,最好使用
.val()
获取表单字段的值:

var fullNameValue = jQ(".fullName").val();
小提琴


小提琴

出于好奇,您为什么要使用
.noConflict()
?考虑到您发布的代码,这似乎没有必要。出于好奇,您为什么要使用
.noConflict()
?鉴于您发布的代码,似乎没有必要这样做。