0

すぐ横にある 'td' 要素の 'input' 要素を変更した後、'th' 要素の色を変更したいと考えています。

これが私が使用したjQueryスクリプトです。

$('#phoneNo').change(function () {
    $(this).closest("tr").find("th").css("background-color","yellow");
    });

HTMLコード

<tr>
    <th>PhoneNo</th>
    <td><input type="text" id="phoneNo"/></td>
    <th>EmailId</th>
    <td><input type="text" id="emailId"/></td>

</tr>

私が期待できるように動作します-行のすべての「th」要素(コード内のPhoneNoとEmailIdの両方)の背景色を変更します。しかし、私が望むのは、対応する「td」(PhoneNoのみ)の直前の「th」のみの色を変更することです。

4

2 に答える 2

1
$('#phoneNo').change(function () {
    $(this).parent().prev("th").css("background-color","yellow");
});

.prev()は以前の兄弟を探しているため、最初に td 要素を見つける必要があることに注意してください

于 2012-05-03T10:30:49.067 に答える
0
$('#phoneNo').change(function () {
    $(this).parent().prev('th').css("background-color","yellow");
});​

http://jsfiddle.net/zSjMh/1/でフィドルを参照してください。

于 2012-05-03T10:30:08.973 に答える