Javascript jquery的.filter()方法中的'this'值

Javascript jquery的.filter()方法中的'this'值,javascript,jquery,this,Javascript,Jquery,This,这是我使用的HTML <ul> <li><strong>list</strong> item 1 - one strong tag</li> <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span>

这是我使用的HTML

<ul>
      <li><strong>list</strong> item 1 -
        one strong tag</li>
      <li><strong>list</strong> item <strong>2</strong> -
        two <span>strong tags</span></li>
      <li>list item 3</li>
      <li>list item 4</li>
      <li>list item 5</li>
      <li>list item 6</li>
</ul>
第二:

$('li').filter( function(foo) {
    console.log(this);
    return foo % 3 == 2;
}).css('background-color', 'red');
在第一种情况下,Chrome记录了以下内容: 在第二种情况下:

为什么控制台在不同的情况下显示此的不同值

“为什么控制台在不同情况下显示不同的
this
值?”

没有。假设DOM没有改变,它两次都显示相同的元素。实际值没有什么不同


唯一的区别是它们的视觉表现方式。这对它们的实际情况没有影响。

差异与使用的方法无关。重复第一种方法两次,你就会观察到同样的行为。我不知道。你必须查看源代码才能知道。嗨,谢谢你在这段时间里教了我很多东西,我决定(至少)休息(至少)6个月。谢谢直到我们再次见面。。。某处。。。再见。@gdoron:那么你的缺席肯定会让你更穷。祝你好运!
$('li').filter( function(foo) {
    console.log(this);
    return foo % 3 == 2;
}).css('background-color', 'red');