0

ここに私が使っていた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>

2 つの方法で .filter() メソッドを使用して変更していました。

初め:

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

2番:

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

最初のケースでは、Chrome はこれを記録しました: ここに画像の説明を入力 そして 2 番目のケースではこれ: ここに画像の説明を入力

thisコンソールに異なるケースで異なる値が表示されるのはなぜですか?

4

1 に答える 1

1

this「コンソールが異なるケースで異なる値を表示するのはなぜですか?」

そうではありません。DOM が変更されていないと仮定すると、どちらの場合も同じ要素が表示されます。実際の値は同じです。

唯一の違いは、それらが視覚的に表現される方法です。これは、実際の内容には影響しません。

于 2012-06-29T17:52:19.280 に答える