title: jQuery :contains(), but to match an exact string
body: <p>As said in the title, I'd like to find something like <code>:contains()</code> but to match an exact string. In other words, it shouldn't be a partial match. For example in this case:</p>
  
  <pre><code>&lt;div id="id"&gt;
     &lt;p&gt;John&lt;/p&gt;
     &lt;p&gt;Johny&lt;/p&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p><code>$("#id:contains('John')")</code> will match both <code>John</code> and <code>Johny</code>, while I'd like to match only <code>John</code>.</p>
  
  <p>Thanks in advance.</p>
  
  <p><sub><strong>EDIT:</strong> ES2015 one-liner solution, in case anyone looked for it:</sub></p>
  
  <p><div class="snippet" data-lang="js" data-hide="true" data-console="true" data-babel="true">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>const nodes = [...document.querySelectorAll('#id &gt; *')].filter(node =&gt; node.textContent === 'John');
  
  console.log(nodes);</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>/* Output console formatting */
  .as-console-wrapper { top: 0; }
  .as-console { height: 100%; }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div id="id"&gt;
    &lt;p&gt;John&lt;/p&gt;
    &lt;p&gt;Johny&lt;/p&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>