我想在更改旁边的“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)的背景颜色。但我想要的是只更改一个“th”的颜色 - 恰好在相应“td”之前的那个(仅 PhoneNo)
最佳答案
$('#phoneNo').change(function () {
$(this).parent().prev("th").css("background-color","yellow");
});
请注意,由于 .prev()
正在寻找 previous sibling 姐妹,因此您需要先找到 td 元素
关于javascript - 改变 "th"的背景颜色到紧接着的下一个 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429519/