is(':first') returns different (wrong?) results for what should be the same element. jsFiddle inside
<p><a href="http://jsfiddle.net/garnwraly/sfrwU/2/">http://jsfiddle.net/garnwraly/sfrwU/2/</a></p>

<p>given HTML of only</p>

<pre><code>&lt;li&gt;
    &lt;button id="bam"&gt;click&lt;/button&gt;
&lt;/li&gt;
</code></pre>

<p>and this script</p>

<pre><code>$('body').on('click', 'button', function (e) {
    //console.log( e.currentTarget == $('button')[0] ); //true;
    //console.log($('li').is('li:first')); //true

    console.log($(e.currentTarget).parent().is('li:first')) //false
    console.log($('button').parent().is('li:first')); //true
    console.log($($('button')[0]).parent().is('li:first')); //false
});
</code></pre>

<p>why is <code>$(e.currentTarget).parent().is('li:first')</code> false? </p>
