JQuery动态添加类到具有特定类的第一个元素

JQuery add class dynamically to first element with a particular class

本文关键字:第一个 元素 动态 添加 JQuery      更新时间:2023-09-26

我动态创建了引导手风琴,每个手风琴中包含动态创建的组。我想将in类添加到每个手风琴的第一组中,这将打开它,正如您在链接的引导示例中看到的那样。

<div class="panel panel-default">
    <div class="panel-heading">
        <h6 class="panel-title">
            <a class="accordionToggle" data-toggle="collapse" data-parent="#dynamicId" href="#dynamicId">
                Title
            </a>
        </h6>
    </div>
    <div class="panel-collapse collapse" id="dynamicId">
        ...
    </div>
</div>
...

可以有任意数目的.panel.panel-default,其中可以包含任意数目的.panel-collapse.collapse

这是我所尝试的,以及其他一些变化,将in类添加到每个.panel.panel-default的第一个.panel-collapse.collapse,但我一直结束它将类添加到每个,而不仅仅是第一个。

$(".panel.panel-default").each(function (index) {
    $(this).children(".panel-collapse.collapse:first").addClass("in");
});
$(".panel.panel-default").each(function (index) {
    $(this).find(".panel-collapse.collapse:first").addClass("in");
});
$(".panel.panel-default").each(function (index) {
    $(this).children(".panel-collapse.collapse").first().addClass("in");
});

任何帮助将不胜感激!

您需要迭代panel-group,因为我认为您正在尝试做的是展开每个手风琴中的第一项

$(".panel-group").each(function (index) {
    $(this).children(".panel-collapse.collapse:first").addClass("in");
});

演示:小提琴

只需添加:

$(document).ready(function(){
    $(".panel-collapse.collapse:first").addClass("in");
});