title: wrap each char in except tags with jQuery
body: <p>I'm trying to wrap each text character inside a</p>
  
  <pre><code>&lt;div id="test"&gt;&lt;/div&gt;
  </code></pre>
  
  <p>with a span tag.
  No problem there, it's just that I also need to keep nested tags unmodified.</p>
  
  <p>So if the string inside the DIV is:</p>
  
  <pre><code>"Some random text, &lt;b&gt;but&lt;/b&gt; wait - there's &lt;a href="http://w3.org"&gt;tags&lt;/a&gt; inside!"
  </code></pre>
  
  <p>It should output this for the "but" part</p>
  
  <pre><code>&lt;b&gt;&lt;span&gt;b&lt;/b&gt;&lt;span&gt;u&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/b&gt;
  </code></pre>
  
  <p>Leaving the &lt; b> and &lt; a> tags alone, but wrapping all other chars in span. I checked text() but that doesn't seem to have a way of preserving tags or "saving back", only extracting the text and permanently removing the &lt; b> and &lt; a></p>
  
  <p>Maybe some jQuery guru out there knows how to do this?</p>