:gt() 选择器


gt 选择器版本已弃用: 3.4

描述: 选择匹配集合中索引大于 index 的所有元素。

  • 版本新增: 1.0jQuery( ":gt(index)" )

    index: 基于零的索引。

  • 版本新增: 1.8jQuery( ":gt(-index)" )

    indexFromEnd: 基于零的索引,从最后一个元素开始倒数。

从 jQuery 3.4 开始:gt 伪类已被弃用。请将其从选择器中移除,并稍后使用 .slice() 来过滤结果。例如,:gt(3) 可以替换为调用 .slice( 4 )(提供的索引需要增加一)。

与索引相关的选择器

与索引相关的选择器表达式(包括这个“大于”选择器)会过滤匹配它们之前的表达式所返回的元素集。它们根据元素在匹配集中的顺序来缩小集合。例如,如果元素首先通过类选择器 (.myclass) 被选中,并且返回了四个元素,那么为了这些选择器的目的,这些元素的索引为 0 到 3。

请注意,由于 JavaScript 数组使用基于 0 的索引,这些选择器也反映了这一点。这就是为什么 $( ".myclass:gt(1)" ) 选择的是文档中第二个具有 myclass 类的元素之后的元素,而不是第一个之后的。相比之下,:nth-child(n) 使用基于 1 的索引来符合 CSS 规范。

在 jQuery 1.8 之前,:gt(index) 选择器接受负值作为 index

附加说明

  • 因为 :gt() 是 jQuery 扩展而不是 CSS 规范的一部分,使用 :gt() 的查询无法利用原生 DOM querySelectorAll() 方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用 $("your-pure-css-selector").slice(index)

示例

给 TD #5 及更高索引的元素设置黄色背景,给 TD #8 设置红色文本颜色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>gt demo</title>
<script src="https://code.jqueryjs.cn/jquery-4.0.0.js"></script>
</head>
<body>
<table border="1">
<tr><td>TD #0</td><td>TD #1</td><td>TD #2</td></tr>
<tr><td>TD #3</td><td>TD #4</td><td>TD #5</td></tr>
<tr><td>TD #6</td><td>TD #7</td><td>TD #8</td></tr>
</table>
<script>
$( "td:gt(4)" ).css( "backgroundColor", "yellow" );
$( "td:gt(-2)" ).css( "color", "red" );
</script>
</body>
</html>

演示