javascript - 改变 "th"的背景颜色到紧接着的下一个 td

标签 javascript jquery css html-table

我想在更改旁边的“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/

相关文章:

javascript - 圆圈在谷歌地图 API 上的先前坐标上创建

javascript - 如何用+ 1替换字符串中的数字?

javascript - 相对地迭代类中的 dom 元素

javascript - css class has-error 当单选按钮有验证时没有被添加到 div

html - 如何修复背景位置的错误?

html - 需要截断img左右

javascript - JQuery 在 .each 循环中切换所有 div

javascript - 检查 $tHe.val() 是否为空,不要设置 .prop ('name' )

javascript - CSS 样式在警告消息后消失

javascript - 将 jQuery ID 作为 JavaScript 函数的参数传递