title: How does jQuery's .not() return value affect .hide()?
body: <p>I have a simple HTML table and jQuery set up to hide the rows when user clicks a desired topic so only the clicked one remains visible.
  My question is, although the script is working I'm not sure why and going through jQuery documentation didn't really help me understand this.</p>
  
  <p>Here's the simple logic behind the topic removal process:</p>
  
  <pre><code>if (topic != 'All') {
      $('#news').find('tr:has(td)').not(function() {
          return $(this).children(':nth-child(4)').text() == topic;
      }).hide();
  }
  </code></pre>
  
  <p>When the .not() method returns TRUE, the topic is excluded from removal and when it returns FALSE the topic is effectively removed. Why is that? What is the relation between the return value of .not() and .hide()? How does the return value of .not() affect the execution of .hide()?</p>