lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED :first-child pseudo-class</title>
  <style type="text/css">.green { background-color : lime ! important }
.t1 td:not(:first-child) { background-color : red }
p > *:not(:first-child) { background-color : red }
table.t1 td { border : thin black solid }
</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>
  <table class="t1" border="1">
   <tbody><tr>
    <td>1.1</td>
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
   </tr>
   <tr>
    <td>2.1</td>
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
   </tr>
   <tr>
    <td>3.1</td>
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><td class="green"><!--[TEXT('.green')]-->green cell<!--[/TEXT('.green')]--></td><!--[/ELEMENT('.green')]-->
   </tr>
 </tbody></table>
 </div>
 <p>This paragraph <span>should be</span> unstyled.</p>

</body></html>