1

そのため、入力項目のラベルを含むテーブル 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;
}
4

2 に答える 2

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");
});
于 2012-12-17T03:26:14.287 に答える
1

これを試して。できます

$(".input_field > input").focus(function() {
    $(this).closest("tr").children("td:first").css("background","#cf4f92");
});​
于 2012-12-17T03:37:50.457 に答える