0

以下のリストを反復しようとしています。

<ul>
  <li class="tab">Tab 1</li>
  <li class="tab">Tab 2</li>
  <li class="tab">Tab 3</li>
</ul>

次の MooTools スクリプトを使用します。

$$('ul').getElements().each(function(el,i) {
    alert(i);
});

画面には「0」、「1」、「2」と予想される「0」しか表示されません。誰でもこれを説明できますか?

4

1 に答える 1

2

$$('ul')ul要素のリストを返します。getElements次にそのリストを呼び出す場合は、タグ名を指定する必要があります。liこれにより、要素のリストのリストが表示されます[[li, li, li]]
したがって、li要素を反復処理する場合は、次のようにすることができます。

 $$('ul').getElements('li')[0].each(function (el, i) { alert(i); });

また:

$$('ul li').each(function(li, index){
    // faster. 
});
于 2012-10-02T01:10:34.573 に答える