Check if all divs are hidden
<p><a href="http://jsfiddle.net/mplungjan/JrAhR/" rel="nofollow">JSFIDDLE</a></p>

<pre><code>$(document).ready(function() {
    $(".chk").click(function() {
        $(".chk:checked").each(function() {
           $("."+this.id).show();
        });       
        $(".chk:not(:checked)").each(function() {
           $("."+this.id).hide();
        }); 
        // give a message if nothing left to show       
    });  
}); 
</code></pre>

<p></p>

<pre><code>&lt;label&gt;
    &lt;input class="chk" type="checkbox" checked="checked" id="course"&gt;Courses
&lt;/label&gt; 
&lt;label&gt;
    &lt;input class="chk" type="checkbox" checked="checked" id="morning"&gt;Morning
&lt;/label&gt; 
&lt;label&gt;
    &lt;input class="chk" type="checkbox" checked="checked" id="evening"&gt;Evening
&lt;/label&gt; 
&lt;ul&gt;
    &lt;li class="courseBox course"&gt;Course&lt;/li&gt;
    &lt;li class="courseBox course evening"&gt;Course, Evening&lt;/li&gt;
    &lt;li class="courseBox morning"&gt;Morning &lt;/li&gt;
&lt;/ul&gt;​
</code></pre>

<p>How do I most elegantly know if all the affected divs were hidden?</p>

<hr>

<p>UPDATE: If you need to check after a fadeOut, you need to put the check in the callback:</p>

<pre><code>$(".chk:not(:checked)").each(function() {
  $("."+this.id).fadeOut(function() {
    if (!$('.courseBox:visible').length) {
      alert('all are hidden');
    }
  });
}); 
</code></pre>
