lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>Descendant combinator</title>
  <style type="text/css">.white { background-color: transparent ! important; }
.red { background-color: red; }
div.t1 p { background-color: lime; }</style>
  <link rel="author" title="Daniel Glazman" href="http://glazman.org/">
  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
  <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"> <!-- bogus link to make sure it gets found -->
  <meta name="flags" content="">
 </head>
 <body>
 <div class="t1">
  <p class="red">This paragraph should have a green background</p>
  <table>
   <tbody>
    <tr>
     <td>
      <p class="red">This paragraph should have a green background</p>
     </td>
    </tr>
   </tbody>
  </table>
 </div>
 <table>
  <tbody>
   <tr>
    <td>
     <!--[ELEMENT('.white')]--><p class="white"><!--[TEXT('.white')]-->This paragraph should be unstyled.<!--[/TEXT('.white')]--></p><!--[/ELEMENT('.white')]-->
    </td>
   </tr>
  </tbody>
 </table>

</body></html>