<!doctype html> <style> .foo :not(.bar) + baz { color: red; } .descendant::before { content: ""; } </style> <div class="foo"> <div class="descendant"> </div> </div> <script> document.body.offsetTop; document.querySelector('.foo').classList.remove('foo'); </script>