获取与文档相关的<article>索引,而不是父文档

时间:2016-03-29 12:58:13

标签: jquery html

我在这里要做的是为每个包含与文档相关的编号的文章元素添加一个类。以下代码添加与元素第一个父元素相关的数字。有什么建议??

<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)
});

1 个答案:

答案 0 :(得分:3)

要执行此操作,您需要为index()提供一个选择器,否则它将考虑当前元素在其当前父元素中的索引。试试这个:

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

Working example

或者,当您使用处理程序函数派生要添加的类名时,您可以删除each()调用并使用直接传递给index的{​​{1}}参数:

addClass

Working example