jQuery遍历数组和第一个两项的removeClass,同时给其余项带来不同的效果

时间:2018-10-31 12:49:29

标签: javascript jquery for-loop siblings

我有一个h2标签列表,它们都具有相同的类。我遇到的难题是我需要删除列表中第一个两个h2元素的类,然后将其余元素的同级包装在一个表中。我只能获得实现1或不同时实现两者的代码。我有一个for循环,从2开始跳过两个元素的第一个元素,因为它们的兄弟姐妹不属于表。问题在于跳过了前两个,现在我无法删除它们的类,因为循环永远不会到达它们。有人可以在不更改代码方向的情况下为我提供帮助。

<script>    
$(document).ready(function(){
    var togglerHeaders = $("h2.toggler");
    for (i = 2; i < togglerHeaders.length; i++) {
    var currentH2Element = togglerHeaders[i];
    var siblingsofH2 = $(currentH2Element).nextUntil("h2.toggler");
    $(siblingsofH2).wrapAll("<table></table>");
    } // line ends for loop 
    $(".toggler").next().hide();
    $(".toggler").click(function(){
        $(".toggler").next().toggleClass();
    });
}); 
</script>


<h2 class="toggle">
    <span class="myDate">July 2009</span>
</h2>
<div class="wrapInfo">
    <div class="info">
        <p>High School Recent Graduate</p>
    </div>
</div>
<h2 class="toggle">
    <span class="myDate">June 2008</span>
</h2>
<div class="wrapInfo">
    <div class="info">
        <p>High School Senior</p>
    </div>
</div>
<h2 class="toggle">
    <span class="myDate">May 2007</span>
</h2>
<div class="wrapInfo">
    <div class="info">
        <p>High School Junior</p>
    </div>
</div>
<h2 class="toggle">
    <span class="myDate">April 2006</span>
</h2>
<div class="wrapInfo">
    <div class="info">
        <p>High School Sophomore</p>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

在for循环之后执行以下操作怎么样: togglerHeaders.slice(0,1).removeClass('toggle');