0

在我对旁边的“td”元素中的“输入”元素进行更改后,我想更改“第”元素的颜色。

这是我使用的 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)的背景颜色。但我想要的是只改变一个'th'的颜色 - 就在相应的'td'之前的那个(只有PhoneNo)

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 回答