gpt4 book ai didi

javascript - jquery 将类添加到最近的父级

转载 作者:行者123 更新时间:2023-11-29 16:43:55 26 4
gpt4 key购买 nike

我有一个表单,一些字段设置在 3 组可折叠的 div 中,我不想在验证之后如果任何字段有错误,父 div 会收到一个类来展开它。

<div class="panel-group" id="fields_panel">
<div class="panel panel-primary">
<div id="basic_info_fields" class="panel-collapse collapse in"> <!-- add class "in" -->>
<div class="panel-body">
<div class="row clearfix">
<div class="col-md-12 m-b-0">
<div class="form-group">
<div class="form-line error"> <!-- if this div has "error" -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

我还有两个具有相同结构的面板,每个面板都有几个字段,我试图找出是否有任何 form-lineerror 并追加到 panel-collapse 父类 in 展开它。

现在我有以下 jquery 代码:

$(function () {
var elem = $('.panel').find('.form-line');
if (elem.hasClass('error')) {
elem.closest('.panel-collapse').addClass('in');
};
});

但是它将 in 类应用于所有 panel-collapse。我应该怎么做才能仅将其应用于具有该类的子元素的顶级父级,而不是所有父级?

最佳答案

您的 hasClass 将不起作用,因为 elem 是一组 jQuery 对象 - 不仅仅是一个。

为什么需要它 - 为什么不直接将类包含在选择器中:

$('.panel').find('.form-line.error').closest('.panel-collapse').addClass('in');

这也会阻止您循环遍历数组中没有类的元素,从而提高效率

关于javascript - jquery 将类添加到最近的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42932961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com