【发布时间】:2015-09-17 15:12:35
【问题描述】:
我正在尝试通过单击标题来添加/删除元素的类。我面临的问题是我要显示的 div 没有唯一的类,没有 ID,并且与我单击的标题处于同一级别:
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#text-background" data-parent="#settings-accordeon" class="collapsed">achtergrond</a>
</h4>
</div>
<div id="text-background" class="panel-collapse collapse">
~~ Something in in it.
</div>
</div>
我有 4 个这样的 div。
我正在尝试在 jQuery 中找到正确的选择器,以便能够执行以下操作:
- 点击 div 类:“panel-heading”
- 选择具有类的div:“panel-collapse collapse”
- 向该 div 添加一个名为:“in”的类
这是我目前得到的:
$('.panel-heading').click(function() {
$('.panel-collapse').addClass('in');
});
但是因为我在这个类中有多个 div,所以它会打开它们...
【问题讨论】:
-
使用唯一的 id 而不是面板折叠类。
-
你可以使用 like -> $this.parent.child('.panel-collapse').addclass() --- 你必须稍微眨一下
-
提供给您的大多数答案都很好,除了使用
addClass("in")使用toggleClass("in")。 -
试试
$(this).closest('.panel-collapse')
标签: javascript jquery html css