我的功能正常运作。有没有办法从特定输入中删除该功能?因为它改变了所有输入..我有2个复选框和1个输入,我需要没有这个功能。
$('input').blur(function(){
$('input').parent().removeClass("gray");
})
.focus(function() {
$(this).parent().addClass("gray")
});
答案 0 :(得分:3)
尝试在输入中添加一个类,并选择不需要onblur
函数的复选框,然后按如下所示更新代码
将class
添加到您不想要此功能的三个输入
$('input').not( ".class" ).blur(function() {
$(this).parent().removeClass("gray");
})
.focus(function() {
$(this).parent().addClass("gray")
});
希望这有助于你所需要的。
答案 1 :(得分:2)
使用this
上下文,$('input')
将选择所有<input>
元素,this
中的callback
将保留event
上的元素被调用!
$('input').blur(function() {
$(this).parent().removeClass("gray");
})
.focus(function() {
$(this).parent().addClass("gray")
});
.gray {
background: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div>
<input type="text">
</div>
<div>
<input type="text">
</div>
答案 2 :(得分:0)
如果您拥有这三个输入的ID,则可以使用此代码段。
$('input').blur(function(){
$(this).parent().removeClass("gray");
})
.focus(function() {
$(this).parent().not( "#id1, #id2, #id3" ).addClass("gray")
});
它会为那些与选择器不匹配的输入添加类。