| <!doctype html> |
| <title>Top-level & is treated like :scope</title> |
| <link rel="author" title="Steinar H. Gunderson" href="mailto:[email protected]"> |
| <link rel="help" href="https://drafts.csswg.org/css-nesting-1/"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <div id="p"> |
| <div class="match" id="level1"> |
| <div class="match" id="level2"></div> |
| </div> |
| </div> |
| |
| <script> |
| test(() => { |
| let matched = []; |
| for (const elem of p.querySelectorAll('& .match')) { |
| matched.push(elem.getAttribute('id')); |
| } |
| assert_array_equals(matched, ['level1', 'level2']); |
| }, '& as direct ancestor'); |
| |
| test(() => { |
| let matched = []; |
| for (const elem of p.querySelectorAll('& > .match')) { |
| matched.push(elem.getAttribute('id')); |
| } |
| assert_array_equals(matched, ['level1']); |
| }, '& matches scoped element only, not everything'); |
| </script> |