首页 > 解决方案 > jQuery循环遍历数组和第一个两项的removeClass,同时为其余项提供不同的效果

问题描述

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

<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>

标签: javascriptjqueryfor-loopsiblings

解决方案


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


推荐阅读