jquery的.filter()方法中`this`的值

时间:2012-06-29 17:39:35

标签: 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></li>
      <li>list item 3</li>
      <li>list item 4</li>
      <li>list item 5</li>
      <li>list item 6</li>
</ul>

我正在使用.filter()方法以两种方式修改它:

首先:

$('li').filter( function(foo) {
    console.log(this);
    return foo == 2;
}).css('background-color', 'red');

第二

$('li').filter( function(foo) {
    console.log(this);
    return foo % 3 == 2;
}).css('background-color', 'red');

在第一种情况下,Chrome记录了这个: enter image description here 在第二种情况下: enter image description here

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

1 个答案:

答案 0 :(得分:1)

  

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

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

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