:odd Selector


odd selectorversion deprecated: 3.4

Description: Selects odd elements, zero-indexed. See also :even.

  • version added: 1.0jQuery( ":odd" )

As of jQuery 3.4, the :odd pseudo-class is deprecated. Remove it from your selectors and filter the results later using .odd() (available in jQuery 3.5.0 or newer).

In particular, note that the 0-based indexing means that, counter-intuitively, :odd selects the second element, fourth element, and so on within the matched set.

Additional Notes:

  • Because :odd is a jQuery extension and not part of the CSS specification, queries using :odd cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method. To achieve the best performance when using :odd to select elements, first select the elements using a pure CSS selector, then use .filter(":odd").
  • Selected elements are in the order of their appearance in the document.

Example:

Finds odd table rows, matching the second, fourth and so on (index 1, 3, 5 etc.).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>odd demo</title>
<style>
table {
background: #f3f7f5;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<table border="1">
<tr><td>Row with Index #0</td></tr>
<tr><td>Row with Index #1</td></tr>
<tr><td>Row with Index #2</td></tr>
<tr><td>Row with Index #3</td></tr>
</table>
<script>
$( "tr:odd" ).css( "background-color", "#bbbbff" );
</script>
</body>
</html>

Demo: