我的jQuery函数看起来像
$('input[type="text"]').focus(function() {
$("label").css("border-bottom-color", "red");
});
$('input[type="text"]').blur(function() {
$("label").css("border-bottom-color", "#e6e6e6");
});
1)我的表单中有一堆文本输入。我想要做的是改变聚焦文本框标签的底部边框颜色(每个文本框都有一个标签。我想只更改聚焦文本框标签的边框颜色)。但是我的功能会立刻改变所有标签的边框颜色。如何解决这个问题?
2)我有2个表格。使用id的form1和form2。我想对第二种形式做同样的事情,但颜色将是另一种形式。如何修改这个功能?
我的表单看起来像那样
<form id="form1">
...
<label for="fname">First Name</label>
<input name="fname" placeholder="please enter your first name" type="text" />
...
</form>
<form id="form2">
...
<label for="job">Your Job</label>
...
<input name="job" placeholder="please enter your job" type="text" />
</form>
答案 0 :(得分:1)
答案 1 :(得分:1)
同时使用CSS和JavaScript:
$('input:text, input:password, textarea').focus(
function(){
$(this).prev('label').addClass('focused');
}).blur(
function(){
$(this).prev('label').removeClass('focused');
});
而且,在CSS中:
#form1 label.focused {
border-bottom: 1px solid red;
}
#form2 label.focused {
border-bottom: 1px solid green;
}
答案 2 :(得分:0)
对于问题1,使用$(this)作为选择器:
$('input[type="text"]').focus(function() {
$(this).css("border-bottom-color", "red");
});
$('input[type="text"]').blur(function() {
$(this).css("border-bottom-color", "#e6e6e6");
});
对于问题2,您的意思是,在用户选择了两个项目后,是否按顺序?它们不能同时成为焦点。
答案 3 :(得分:0)
你的选择器不够具体来操纵css。您必须具体说明要更新的标签。像这样:
$('input[type="text"],textarea,input[type="password"]').focus(function() {
$("label[for='" + $(this).attr('id') + "']").css("border-bottom-color", "red");
});