JQuery HTML 避免使用每个表中的第一行
JQuery HTML Avoid the first row in each table
我的网站上有几个表,我正在尝试编写 2 个函数。
第一个功能是检查鼠标是否在行上,然后设置该行的背景颜色。
第二个功能是检查鼠标是否离开一行,然后删除背景颜色。
但我试图避免每个表的第一行
网页代码:
<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
而不是 first
。 fisrt
仅选择第一个元素,而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", "");
});
您可以使用
此 CSS 来实现在tr
上更改背景(不包括第一个背景)的所需行为,而无需使用 JavaScript:
tr:not(:first-child):hover {
background: orange;
}
你可以改用thead和tbody。
<table>
<thead>
<tr><td>Name</td></tr>
</thead>
<tbody>
<tr><td>Someone</td></tr>
<tr><td>Someone</td></tr>
<tr><td>Someone</td></tr>
</tbody>
</table>
然后
$(document).on('mouseenter', 'table tbody tr', function....
相关文章:
- 从 html 表中选择一行(突出显示)并在单击按钮时发送值
- html画布鼠标后的一行
- 当上一行/当前行被填充时,将新行添加到HTML表中
- Html-从数据库中删除一行
- 用 HTML 中的一行连接 2 张图像.姜戈模板
- 如何将动态颜色应用于与 HTML 表不同的每一行
- 从同一行中获取最接近复选框列的列的 html 值
- 使用 JavaScript 编辑 HTML 中的每一行
- 阻止浮动 HTML 元素下降到下一行
- 如何使用jQuery和Ajax将文本文件中的每一行加载到HTML列表中
- JQuery HTML 避免使用每个表中的第一行
- html表的xsl生成为每一行提供一个按钮
- 如何在嵌入php的html表中为每一行添加复选框,并在数据库(Postgresql)中更新其值
- 在不影响第一行的情况下,每隔一行缩进一个表.html/css/js/jQuery
- 如何使用jQuery根据某些条件获取HTML表的下一行
- 阻止一行html出现在谷歌搜索中
- 如何将值获取到一行html数据表中
- 在一个页面被呈现后,任何方式都可以去掉一行HTML代码
- 禁用最后一行html表复选框
- 为什么我不能删除每一行html的空白?