【发布时间】:2013-03-09 00:05:56
【问题描述】:
我有一个很大的表格,按 data 属性分组,如下所示:
<table>
<tr data-group="666"><td></td></tr>
<tr data-group="666"><td></td></tr>
<tr data-group="2"><td></td></tr>
<tr data-group="2"><td></td></tr>
<tr data-group="XXXX"><td></td></tr>
<tr data-group="XXXX"><td></td></tr>
</table>
我事先不知道可能组的值(可能超过 50 个组)。它们是动态生成的。
现在我正在使用 jQuery 来创建悬停高亮效果,但速度有点慢。 我想知道是否有任何方法可以使用 CSS。
这是我现在正在使用的:
$('tr').live('hover', function() {
$('tr[data-group="'+$(this).data('group')+ '"]').toggleClass('hover');
});
【问题讨论】:
-
您的 html 是否正确?你还没用过
data-transport -
@Archer。添加了工作演示。 (带一张小桌子)
-
.live已被弃用。请改用.on。 -
如果您使用 1.6 以上的 jQuery 版本,一个性能建议是使用 .on();并将事件附加到表 ID: $('#tableId').on('hover', 'tr', function(){});使用 .live() 它会在执行 live 之前抓取所有元素,同样通过指定 tableId 而不是文档(.live 使用)它需要更短的路径。 抱歉,好像有人已经建议了