parent
Get the parent DOM element of a set of DOM elements.
Please note that .parent() only travels a single level up the DOM tree as
opposed to the .parents() command.
info
The querying behavior of this command matches exactly how
.parent() works in jQuery.
Syntax​
.parent()
.parent(selector)
.parent(options)
.parent(selector, options)
Usage​
Correct Usage
cy.get('header').parent() // Yield parent el of `header`
Incorrect Usage
cy.parent() // Errors, cannot be chained off 'cy'
cy.reload().parent() // Errors, 'reload' does not yield DOM element
Arguments​
selector (String selector)
A selector used to filter matching DOM elements.
options (Object)
Pass in an options object to change the default behavior of .parent().
| Option | Default | Description | 
|---|---|---|
| log | true | Displays the command in the Command log | 
| timeout | defaultCommandTimeout | Time to wait for .parent()to resolve before timing out | 
Yields ​
- .parent()yields the new DOM element(s) it found.
- .parent()is a query, and it is safe to chain further commands.
Examples​
No Args​
Get the parent of the active li​
<ul class="main-nav">
  <li>Overview</li>
  <li>
    Getting started
    <ul class="sub-nav">
      <li>Install</li>
      <li class="active">Build</li>
      <li>Test</li>
    </ul>
  </li>
</ul>
// yields .sub-nav
cy.get('li.active').parent()
Selector​
Get the parent with class sub-nav of all li elements​
<ul class="main-nav">
  <li>Overview</li>
  <li>
    Getting started
    <ul class="sub-nav">
      <li>Install</li>
      <li class="active">Build</li>
      <li>Test</li>
    </ul>
  </li>
</ul>
// yields .sub-nav
cy.get('li').parent('.sub-nav')
Rules​
Requirements ​
- .parent()requires being chained off a command that yields DOM element(s).
Assertions ​
- .parent()will automatically retry until the element(s) exist in the DOM.
- .parent()will automatically retry until all chained assertions have passed.
Timeouts ​
- .parent()can time out waiting for the element(s) to exist in the DOM.
- .parent()can time out waiting for assertions you've added to pass.
Command Log​
Assert on the parent of the active li
cy.get('li.active').parent().should('have.class', 'nav')
The commands above will display in the Command Log as:

When clicking on the parent command within the command log, the console
outputs the following:
