2016-03-29 7 views
2

私がここでやろうとしているのは、文書に関連する番号を含む各記事要素にクラスを追加することです。次のコードは、要素の最初の親に関連する番号を追加します。助言がありますか??<article>のインデックスを親ではなく文書に関連付ける

<main class="container">  
    <article class="tile"> //returns t1 
     <h1>A1</h1> 
    </article>  
    <article class="tile"> //returns t2 
     <h1>A2</h1> 
    </article>   
</main> 
<main class="container">   
    <article class="tile"> //returns t3 
     <h1>B1</h1> 
    </article> 
    <article class="tile"> //returns t4 
     <h1>B2</h1> 
    </article> 
    <article class="tile"> //returns t5 
     <h1>B3</h1> 
    </article>  
</main> 
$('article.tile').each(function() { 
    var tNumber = $(this).index() + 1 ; 
    $(this).addClass('t'+tNumber) 
}); 

答えて

3

あなたがそうでなければ、それはそれの現在の親要素内の現在の要素のインデックスをアカウントに取る、index()にセレクタを提供する必要がこれを行うにしてください。また、あなたがeach()呼び出しを削除し、追加するクラス名を導出するハンドラ関数を使用する場合addClassに直接渡さindexパラメータを使用することができます

$('article.tile').each(function() { 
    var tNumber = $(this).index('article.tile') + 1; 
    $(this).addClass('t' + tNumber) 
}); 

Working example

:これを試してみてください

$('article.tile').addClass(function(i) { 
    return 't' + (i + 1) 
}); 

Working example

関連する問題