0

クラスセレクターですべての要素をチェックするループを実行しようとしています。

私は持っている

html

<div class='label'>aaaa</div>
<div class='label'>bbbb</div>
<div class='label'>cccc</div>
<div class='label'>dddd</div>

 var pre=$('.label')

    pre.each(function(e){
        console.log(e);
    })

しかし、要素(aaaa、bbbb ..など)は表示されません。

どうすればいいですか?どうもありがとう

4

2 に答える 2

3
var pre = $('.label');

pre.each(function(i, el){
    console.log( el );
    // OR
    console.log( this ); // will give you the element

    // suppose to get text
    console.log( $(el).text() ); // or $(this).text()
});

デモ

.each()isの最初の引数indexと 2 番目の引数はvalue (ここではターゲット要素)です。

についてもっと読む.each()

于 2012-09-13T16:48:57.960 に答える
1

回答のために、.eachjQuery のメソッドは、呼び出されたときに (コンテキスト間で) 2 つの値を渡します。

.each(function(index,value){
});

したがって、e各関数でのみ提供すると、インデックス引数のみが求められます。実際の要素または値を取得するには、2 つの引数を指定する必要があります。

ただし、要素を反復処理する場合、対話型関数のコンテキストも要素に渡されます。そう:

$('.label').each(function(index,element){
  // element == this
});

したがって、2 番目の引数を指定したくない場合はthis、関数内で参照できます。

于 2012-09-13T16:51:17.790 に答える