javascript - JQuery HTML 避免每个表中的第一行

标签 javascript jquery html


我的网站上有几个表,我正在尝试编写 2 个函数。
第一个功能是检查鼠标是否在该行上,然后设置该行的背景颜色。
第二个功能是检查鼠标是否离开一行,然后删除背景颜色。
但我试图避免每个表的第一行

HTML 代码:

<table>
    <tr><td>Name</td></tr>
    <tr><td>David</td></tr>
    <tr><td>Lukas</td></tr>
</table>
<table>
    <tr><td>Something Else</td></tr>
    <tr><td>John</td></tr>
    <tr><td>Pedro</td></tr>
</table>

JQuery 代码:

$(document).on('mouseenter', 'table tr:not(:first)', function () {
    $(this).css("background", "orange");
});

$(document).on('mouseleave', 'table tr:not(:first)', function () {
    $(this).css("background", "");
});

我必须使用“.on”,因为第二个表是通过 Ajax 请求加载的。

当我在第一个表格的第一行输入鼠标时,什么也不会发生(没关系!)
但是当我进入第二个表的第一行时,它就会改变

谢谢!

最佳答案

使用first-child而不是firstfisrt 仅选择第一个元素,而 first-child 选择所有第一个子元素。

$(document).on('mouseenter', 'table tr:not(:first-child)', function () {
    $(this).css("background", "orange");
});

$(document).on('mouseleave', 'table tr:not(:first-child)', function () {
    $(this).css("background", "");
});

关于javascript - JQuery HTML 避免每个表中的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34862097/

相关文章:

javascript - 下面两组代码,一组有效,另一组无效。谁能帮我理解为什么

javascript - .setAttribute 在 for 循环中不起作用 - JavaScript

jquery - 使用 jQuery 的 Google Wonder Wheel/Google Plus Circles 动画

javascript - Bootstrap 模态不透明度仅适用于特定的 div,不适用于整个 body

Javascript - 根据视频的重复更改文本

javascript - 如何对多个按钮使用相同的ajax功能

javascript - jwPlayer 视频无法在 iPad/iPhone 上加载

jquery - 自动在彼此下方显示网格元素

html - 隐藏在框架后面的下拉菜单

javascript - Opera 中的 HTML 表单提交