jQuery迭代输入不起作用

时间:2014-08-29 10:45:45

标签: jquery html css input

我有一个带有f s的HTML div(input),我希望它能够在点击输入时更改为bad_input类我已指定(背景颜色为红色)。但是,这不起作用,我不确定如何解决它。输入有placeholder个标签,但是,我确信这不是它无法正常工作的原因。

$("#f input").blur(function()
    {
    if (!$(this).val())
        {
        $(this).attr('class', 'bad_input');
        }
    });

5 个答案:

答案 0 :(得分:0)

用户.addClass() jquery方法添加类,而不是attr()

您正在做的事情将在输入

中添加class = "bad_input"的属性
        $("#f input").blur(function()
            {
            if (!$(this).val())
                {
                  $(this).addClass('bad_input');
                }
            });

答案 1 :(得分:0)

$("#f input").blur(function(){
    if (!$(this).val()){
        $(this).addClass('bad_input').focus();
    }
});

答案 2 :(得分:0)

$("#f input").blur(function()
    {
    if ($(this).val()=="")
        {
        $(this).addClass('bad_input');
        }
    });

答案 3 :(得分:0)

我实际上看不到你的代码有什么问题。我已经创建了一个jsfiddle来显示它的工作和调整jQuery一点点,类似于其他人的方式。

$(document).ready(function() {
    $("#f input").on("blur", function() {
        if (!$(this).val()) {
            $(this).addClass("bad_input");
        } else {
            $(this).removeClass("bad_input");
        }
    });
});

您是通过Ajax或类似方式动态加载元素吗?当你使用$(“el”)。模糊时,事件被绑定在文档准备好上,所以如果在文档就绪后注入包含元素的标记,则不会绑定事件。使用$(“el”)。on(“blur”)有助于此。

此外,尝试向代码添加警报以确保事件正确触发。

答案 4 :(得分:0)

我修好了......

输入已经在css文件中的已定义类("#f input")中,要修复它,我必须在!important的css文件中添加'bad_input'标记。