title: Adding span to each word not in tag
body: <p>I am in need of a script which achieves the following:
  Placing a span tag around every word, with the exception of words which are already in a tag.</p>
  
  <p>For example the following html:</p>
  
  <pre><code>&lt;p&gt;I &lt;span&gt;like&lt;/span&gt; to go &lt;b&gt;to&lt;/b&gt; the park.&lt;/p&gt;
  </code></pre>
  
  <p>Should become:</p>
  
  <pre><code>&lt;p&gt;&lt;span&gt;I&lt;/span&gt; &lt;span&gt;like&lt;/span&gt; &lt;span&gt;to&lt;/span&gt; &lt;span&gt;go&lt;/span&gt; &lt;b&gt;to&lt;/b&gt; &lt;span&gt;the&lt;/span&gt; &lt;span&gt;park.&lt;/span&gt;&lt;/p&gt;
  </code></pre>
  
  <p>I have thus far succeeded only in placing sentence fragments in the span tags, but not each individual word. (Using this script: <a href="http://jsfiddle.net/oyb4adff/22/" rel="nofollow noreferrer">jsfiddle</a>, jQuery is permissable)</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>$("#tot")
      .contents()
      .filter(function () {
      // get only the text nodes
      return this.nodeType === 3 &amp;&amp; this.nodeValue.trim() !== "";
  }).wrap("&lt;span /&gt;");</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>span {
      background:yellow;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;p id="tot"&gt;
  I love to &lt;span id="hello"&gt;go to&lt;/span&gt; the park every &lt;span&gt;day&lt;/span&gt; because &lt;b&gt;it is&lt;/b&gt; fun.
  &lt;/p&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>Any help is very much appreciated.</p>