lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<!DOCTYPE html><html><head>
  <title>NEGATED :nth-last-child() pseudo-class</title>
  <style type="text/css">.green { background-color : lime ! important; }
ul > li:not(:nth-last-child(odd)) { background-color : red }
ol > li:not(:nth-last-child(even)) { background-color : red }
table.t1 tr:not(:nth-last-child(-n+4)) { background-color : red }
table.t2 td:not(:nth-last-child(3n+1)) { background-color : red }
table.t1 td, table.t2 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>
<ul>
  <li class="green">This first list item should have a green background</li>
  <li>Second list item</li>
  <li class="green">This third list item should have a green background</li>
  <li>Fourth list item</li>
  <li class="green">This fifth list item should have a green background</li>
  <li>Sixth list item</li>
</ul>
<ol>
  <li>First list item</li>
  <li class="green">This second list item should have a green background</li>
  <li>Third list item</li>
  <li class="green">This fourth list item should have a green background</li>
  <li>Fifth list item</li>
  <li class="green">This sixth list item should have a green background</li>
</ol>
<div>
<table border="1" class="t1">
  <tbody><tr class="green">
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
     <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr class="green">
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
     <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
     <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
</tbody></table>
<p></p>
<table class="t2" border="1">
  <tbody><tr>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
  <tr>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
<td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
      <td class="green"><!--Replaced (table.t1 td, table.t2 td) --></td>
<td><!--Replaced (table.t1 td, table.t2 td) --></td>
</tr>
</tbody></table>
</div>

</body></html>