jquery - 将类添加到 jquery 中的第一个和最后一个元素

标签 jquery

我想使用 jQuery 将一个类添加到两个“.heading”类之间的第一个和最后一个“.sub”。

    <table>
        <tr class="heading"></tr>
        <tr class="sub top-box"></tr>
        <tr class="sub"></tr>
        <tr class="sub bottom-box"></tr>
        <tr class="heading"></tr>
        <tr class="sub top-box"></tr>
        <tr class="sub"></tr>
        <tr class="sub"></tr>
        <tr class="sub"></tr>
        <tr class="sub bottom-box"></tr>
    </table>

我尝试了这个,但不起作用:

    jQuery('.heading').click(function(e) {
        e.preventDefault();

        jQuery('.sub:first').nextUntil('.heading').toggleClass('top-box');
        jQuery('.sub:last').nextUntil('.heading').toggleClass('bottom-box');
    });

最佳答案

您可以使用 :first/:last 选择器以及 prev()/next() 方法。

$('.heading:first').next('.sub').addClass("top-box")
$('.heading:last').prev('.sub').addClass("bottom-box")
.top-box{
  background-color:yellow
}
.bottom-box{
  background-color:green
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr class="heading"><td>heading</td></tr>
    <tr class="sub "><td>sub1</td></tr>
    <tr class="sub"><td>sub</td></tr>
    <tr class="sub "><td>sub</td></tr>
    <tr class="heading"><td>heading</td></tr>
    <tr class="sub"><td>sub2</td></tr>
    <tr class="sub"><td>sub</td></tr>
    <tr class="sub"><td>sub</td></tr>
    <tr class="sub"><td>sub</td></tr>
    <tr class="sub"><td>sub</td></tr>
</table>

关于jquery - 将类添加到 jquery 中的第一个和最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44288628/

相关文章:

jquery - 在 ipad 上使用音频标签 html5 和 JQuery 控制声音

JQuery 分离与删除

javascript - 在 else 条件下显示选定的属性值

javascript - 尝试 POST 到 mysql 数据库时 PHP 代码卡在浏览器中(以不同的随机间隔)

javascript - ipad Javascript slider

javascript - 在表单提交之前调用函数的更好方法是什么?

javascript - jQuery AJAX 自定义函数和自定义回调?

jquery - 如何删除html标签并用另一个标签包装它

JQuery UI 自动完成在键入时不触发

javascript - 自动制表符不适用于中间的文本?