{"__v":0,"_id":"58f42cec14ce490f00156355","category":{"__v":60,"_id":"569002f19ebef90d0087289d","pages":["56900352769f210d00132595","5690047121fcf0190071d943","569004924719c119002ce654","569004ceb700ce0d002f4b94","569023e518c3920d00be8b37","569023f748df220d004ca215","5690240af7eb9a0d00f4465d","5690241b48df220d004ca217","5690243e48df220d004ca219","56902453741e9c0d00af2fb5","56902463efcc380d0043a5a1","5690247b18c3920d00be8b39","56902492f7eb9a0d00f4465f","569024a16c49d70d00f18075","569024b2efcc380d0043a5a3","569024cc48df220d004ca21b","569024ea18c3920d00be8b3b","5690258618c3920d00be8b3f","5690259bf7eb9a0d00f44662","569025b06c49d70d00f18077","569029b418c3920d00be8b43","569029d4f7eb9a0d00f44667","569029e8e056c80d00fdec58","569029fb48df220d004ca221","56902a1c18c3920d00be8b46","56902a45f7eb9a0d00f44669","56902a6be056c80d00fdec5a","56902a78f7eb9a0d00f4466b","56902a8848df220d004ca224","56902aa018c3920d00be8b4b","56902ace6c49d70d00f18085","56902ae0741e9c0d00af2fc6","56902aee48df220d004ca226","56902af8f7eb9a0d00f44674","56902b26efcc380d0043a5b1","56902b8148df220d004ca22a","56902ba918c3920d00be8b55","56902bb96c49d70d00f1808b","56902bc818c3920d00be8b57","56902bd518c3920d00be8b59","56902be218c3920d00be8b5b","56902bf66c49d70d00f1808e","56902c05e056c80d00fdec5d","56902c196c49d70d00f18090","56902c2648df220d004ca22d","56902c34f7eb9a0d00f44678","56902c5518c3920d00be8b5d","56902c62741e9c0d00af2fcc","56902cde48df220d004ca230","56902cea741e9c0d00af2fcf","56902d0ae056c80d00fdec60","56902d20efcc380d0043a5b4","56902d3448df220d004ca232","5696c3fbf9203821005fe2fb","5696c3fb9e2d000d00947ab0","5696c3fbf9203821005fe2fa","5697efee8d2a770d00d2fd17","569802611c4dc823005426c7","56a65c82b3ffe00d00156eaf","56f01f88332da41700f24b74"],"project":"568fde81b700ce0d002f4b43","version":"568fde82b700ce0d002f4b46","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-08T18:41:53.562Z","from_sync":false,"order":1,"slug":"commands","title":"Commands"},"parentDoc":null,"project":"568fde81b700ce0d002f4b43","user":"568fffce769f210d0013258f","version":{"__v":23,"_id":"568fde82b700ce0d002f4b46","project":"568fde81b700ce0d002f4b43","createdAt":"2016-01-08T16:06:26.373Z","releaseDate":"2016-01-08T16:06:26.373Z","categories":["568fde82b700ce0d002f4b47","568ff0e504440a1700e4cbbd","569002f19ebef90d0087289d","569004f4769f210d00132599","5690056d9ebef90d008728a0","569005d394c5030d0028813a","5690067804440a1700e4cbe2","569137eb3c4f510d00ec9b92","56913815e56a790d008dbfe3","569138ba3c4f510d00ec9b93","5691392f3c4f510d00ec9b94","56913bbe72f2810d007e4cb0","56933b8d6ebadc0d005b71d2","56933b8d6ebadc0d005b71d3","569564facaa32519009c41e6","5696a319b6d61f0d00acfb40","5696a319a857080d0082e8e8","5697efe43503e40d0061f4d1","5697efe48d2a770d00d2fd16","569e9597ffccd10d00a05c59","56a7a1523d33bc2100793d5c","56a7a32ecf6d771700baeee8","56b8b0f7ddeb231700e69825"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"bar","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-04-17T02:48:12.666Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"auth":"required","params":[],"url":""},"isReference":false,"order":47,"body":"Get all previous siblings of each DOM element in the set of matched DOM elements up to, but not including, the element matched by the selector\n\n| | |\n|--- | --- |\n| **Returns** | the new DOM element(s) found by the command. |\n| **Timeout** | `cy.prevUntil` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#timeouts) |\n\n***\n\n# [cy.prevUntil( *selector* )](#usage)\n\nGet all of the previous siblings of the elements until the selector.\n\n***\n\n# [cy.prevUntil( *selector*, *filter )](#filter-usage)\n\nWhen a filter is provided, it retrieves all of the previous siblings up until the selector only if it matches that filter.\n\n***\n\n# [cy.prevUntil( *element* )](#element-usage)\n\nGet all of the previous siblings of the elements until the DOM node or jQuery object.\n\n***\n\n# [cy.prevUntil( *element*, *filter )](#element-filter-usage)\n\nWhen a filter is provided, it retrieves all of the previous siblings up until the DOM node or jQuery object only if it matches that filter.\n\n***\n\n# Options\n\nPass in an options object to change the default behavior of `cy.prevUntil`.\n\n**cy.prevUntil( *selector*, *options* )**\n**cy.prevUntil( *selector*, *filter*, *options* )**\n**cy.prevUntil( *element*, *options* )**\n**cy.prevUntil( *element*, *filter*, *options* )**\n\nOption | Default | Notes\n--- | --- | ---\n`log` | `true` | whether to display command in command log\n`timeout` | [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#timeouts) | Total time to retry getting the element\n\n***\n\n# Usage\n\n## Find all of the element's siblings before `#nuts` until `#veggies`\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"<ul>\\n  <li id=\\\"fruits\\\" class=\\\"header\\\">Fruits</li>\\n  <li>apples</li>\\n  <li>oranges</li>\\n  <li>bananas</li>\\n  <li id=\\\"veggies\\\" class=\\\"header\\\">Vegetables</li>\\n  <li>cucumbers</li>\\n  <li>carrots</li>\\n  <li>corn</li>\\n  <li id=\\\"nuts\\\" class=\\\"header\\\">Nuts</li>\\n  <li>walnuts</li>\\n  <li>cashews</li>\\n  <li>almonds</li>\\n</ul>\\n\",\n            \"language\": \"html\"\n        }\n    ]\n}\n[/block]\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"//returns [<li>cucumbers</li>, <li>carrots</li>, <li>corn</li>]\\ncy.get(\\\"#nuts\\\").nextUntil(\\\"#veggies\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Command Log\n\n## Find all of the element's siblings before `#nuts` until `#veggies`\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.get(\\\"#nuts\\\").nextUntil(\\\"#veggies\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nThe commands above will display in the command log as:\n\n<img width=\"560\" alt=\"screen shot 2017-03-23 at 2 45 30 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/24264621/69ed829c-0fd7-11e7-934d-c11157c36aca.png\">\n\nWhen clicking on `prevUntil` within the command log, the console outputs the following:\n\n<img width=\"560\" alt=\"screen shot 2017-03-23 at 2 45 36 pm\" src=\"https://cloud.githubusercontent.com/assets/1271364/24264632/7743f57a-0fd7-11e7-99f8-c148acd17459.png\">\n\n***\n\n# Related\n\n- [prev](https://on.cypress.io/api/prev)\n- [prevAll](https://on.cypress.io/api/prevall)\n- [parentsUntil](https://on.cypress.io/api/parentsuntil)\n- [nextUntil](https://on.cypress.io/api/nextuntil)","excerpt":"Get all previous siblings of the DOM elements until another element","slug":"prevuntil","type":"basic","title":"prevUntil"}

prevUntil

Get all previous siblings of the DOM elements until another element

Get all previous siblings of each DOM element in the set of matched DOM elements up to, but not including, the element matched by the selector | | | |--- | --- | | **Returns** | the new DOM element(s) found by the command. | | **Timeout** | `cy.prevUntil` will retry for the duration of the [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#timeouts) | *** # [cy.prevUntil( *selector* )](#usage) Get all of the previous siblings of the elements until the selector. *** # [cy.prevUntil( *selector*, *filter )](#filter-usage) When a filter is provided, it retrieves all of the previous siblings up until the selector only if it matches that filter. *** # [cy.prevUntil( *element* )](#element-usage) Get all of the previous siblings of the elements until the DOM node or jQuery object. *** # [cy.prevUntil( *element*, *filter )](#element-filter-usage) When a filter is provided, it retrieves all of the previous siblings up until the DOM node or jQuery object only if it matches that filter. *** # Options Pass in an options object to change the default behavior of `cy.prevUntil`. **cy.prevUntil( *selector*, *options* )** **cy.prevUntil( *selector*, *filter*, *options* )** **cy.prevUntil( *element*, *options* )** **cy.prevUntil( *element*, *filter*, *options* )** Option | Default | Notes --- | --- | --- `log` | `true` | whether to display command in command log `timeout` | [`defaultCommandTimeout`](https://on.cypress.io/guides/configuration#timeouts) | Total time to retry getting the element *** # Usage ## Find all of the element's siblings before `#nuts` until `#veggies` [block:code] { "codes": [ { "code": "<ul>\n <li id=\"fruits\" class=\"header\">Fruits</li>\n <li>apples</li>\n <li>oranges</li>\n <li>bananas</li>\n <li id=\"veggies\" class=\"header\">Vegetables</li>\n <li>cucumbers</li>\n <li>carrots</li>\n <li>corn</li>\n <li id=\"nuts\" class=\"header\">Nuts</li>\n <li>walnuts</li>\n <li>cashews</li>\n <li>almonds</li>\n</ul>\n", "language": "html" } ] } [/block] [block:code] { "codes": [ { "code": "//returns [<li>cucumbers</li>, <li>carrots</li>, <li>corn</li>]\ncy.get(\"#nuts\").nextUntil(\"#veggies\")\n", "language": "javascript" } ] } [/block] *** # Command Log ## Find all of the element's siblings before `#nuts` until `#veggies` [block:code] { "codes": [ { "code": "cy.get(\"#nuts\").nextUntil(\"#veggies\")\n", "language": "javascript" } ] } [/block] The commands above will display in the command log as: <img width="560" alt="screen shot 2017-03-23 at 2 45 30 pm" src="https://cloud.githubusercontent.com/assets/1271364/24264621/69ed829c-0fd7-11e7-934d-c11157c36aca.png"> When clicking on `prevUntil` within the command log, the console outputs the following: <img width="560" alt="screen shot 2017-03-23 at 2 45 36 pm" src="https://cloud.githubusercontent.com/assets/1271364/24264632/7743f57a-0fd7-11e7-99f8-c148acd17459.png"> *** # Related - [prev](https://on.cypress.io/api/prev) - [prevAll](https://on.cypress.io/api/prevall) - [parentsUntil](https://on.cypress.io/api/parentsuntil) - [nextUntil](https://on.cypress.io/api/nextuntil)