我有一个带有f
s的HTML div(input
),我希望它能够在点击输入时更改为bad_input
类我已指定(背景颜色为红色)。但是,这不起作用,我不确定如何解决它。输入有placeholder
个标签,但是,我确信这不是它无法正常工作的原因。
$("#f input").blur(function()
{
if (!$(this).val())
{
$(this).attr('class', 'bad_input');
}
});
答案 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'
标记。