--- title: eq comments: false --- Get A DOM element at a specific index in an array of elements. # Syntax ```javascript .eq(index) .eq(indexFromEnd) .eq(index, options) .eq(indexFromEnd, options) ``` ## Usage `.eq()` requires being chained off another cy command that *yields* a DOM element or set of DOM elements. **{% fa fa-check-circle green %} Valid Usage** ```javascript cy.get('tbody>tr').eq(0) // Yield first 'tr' in 'tbody' cy.get('ul>li').eq('4') // Yield fifth 'li' in 'ul' ``` **{% fa fa-exclamation-triangle red %} Invalid Usage** ```javascript cy.eq(0) // Errors, cannot be chained off 'cy' cy.getCookies().eq('4') // Errors, 'getCookies' does not yield DOM element ``` ## Arguments **{% fa fa-angle-right %} index** ***(Number)*** A number indicating the index to find the element at within an array of elements. **{% fa fa-angle-right %} indexFromEnd** ***(Number)*** A negative number indicating the index position from the end to find the element at within an array of elements. **{% fa fa-angle-right %} options** ***(Object)*** Pass in an options object to change the default behavior of `.eq()`. Option | Default | Notes --- | --- | --- `log` | `true` | Whether to display command in Command Log `timeout` | {% url `defaultCommandTimeout` configuration#Timeouts %} | Total time to retry getting the element ## Yields {% helper_icon yields %} `.eq()` yields the new DOM elements found by the command. ## Timeout {% helper_icon timeout %} `.eq()` will continue to look for the element at the specified index for the duration of the {% url `defaultCommandTimeout` configuration#Timeouts %}. # Examples ## Index **Find the 2nd element within the elements** ```html