所以,我正在尝试更改表td元素的背景颜色,该元素包含输入项的标签。输入项本身位于行中的以下td元素中。我试图在输入项目的焦点上强制进行此背景颜色更改。以下是我编码的内容。它在这一点上没有奏效。
$(".input_field").child("input").focus(function() {
$(this).parent("td").sibling("td").css("background","#cf4f92");
});
<tr>
<td class="label_name"><label for="email">Email</label></td>
<td class="input_field"><input type="text" name="email" maxlength="28" /></td>
</tr>
td.label_name {
background:#dc95ba;
color:#fff;
font-size:16px; font-weight:bold; line-height:16px;
padding:2px;
text-align:right; text-transform:uppercase;
}
td.label_name label {
margin:0 10px;
max-width:150px; width:auto;
}
td.input_field {
margin:0; padding:0;
}
td.input_field input {
border:1px solid #dc95ba;
color:#e1a4c4;
font-weight:bold;
margin:0 0 0 -2px; padding:2px 2px 2px 10px;
width:200px;
}
td.input_field input:focus {
border:1px solid #cf4f92;
}
答案 0 :(得分:1)
这里的解决方案。 http://jsfiddle.net/J9bWE/1/
我在tr上添加了一个课程。
<tr class="EntryRow">
<td class="label_name"><label for="email">Email</label></td>
<td class="input_field"><input type="text" name="email" maxlength="28" /></td>
</tr>
不要我怎么叫tr
$(".input_field input").focus(function() {
$(this).closest(".EntryRow").find(".label_name").css("background","#cf4f92");
});
答案 1 :(得分:1)
试试这个。它的工作原理
$(".input_field > input").focus(function() {
$(this).closest("tr").children("td:first").css("background","#cf4f92");
});