我有两个嵌套内容的类,例如:
<div class="tab-content">
<div class='tab-pane'></div>
<div class='tab-pane'></div>
</div>
<div class="tab-content">
<div class='tab-pane'></div>
<div class='tab-pane'></div>
</div>
如何为每个tab-pane
的第一个tab-content
添加有效课程?
答案 0 :(得分:4)
你可以这样做
$(".tab-content").each(function() {
$(this).children(".tab-pane").first().addClass("active");
});
也可以使用更具体的选择器执行此操作:
$(".tab-content > .tab-pane:first-child").addClass("active");
答案 1 :(得分:1)
如果您要添加到tab-pane
类的第一个tab-content
- 您可以
$('.tab-content').each(function(){
$(this).find('.tab-pane').eq(0).addClass('active');//.first() instead of .eq(0) will also work. eq() just gives you more controll
});
基本上循环遍历每个类.tab-content - 然后选择必需的子项。
答案 2 :(得分:0)
<div class="tab-content">
<div class='tab-pane'></div>
<div class='tab-pane'></div>
</div>
<div class="tab-content">
<div class='tab-pane'></div>
<div class='tab-pane'></div>
</div>
为此您可以看到所有这些都在类标签内容中。所以你可以通过jquery选择它然后找到类.tab-pane的子项,然后找到第一个子项,然后finnaly添加类Active!
$(".tab-content").each(function() {
$(".tab-content").children(".tab-pane").first().addClass("active");
})
在css ..
.active{
color:blue
}
$(".tab-content").each(function() {
$(this).children(".tab-pane").first().addClass("active");
//This wont work: $(".tab-content").children(".tab-pane").first().addClass("active");
//You can check if you want..
});
.active {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tab-content">
<div class='tab-pane'>1</div>
<div class='tab-pane'>2</div>
</div>
<div class="tab-content">
<div class='tab-pane'>1</div>
<div class='tab-pane'>2</div>
</div>
你必须使用$(this)因为像@seammy所说的那样......
你改成了每个循环,但是你没有使用它,你是 只需在选项卡内容中多次设置第一个选项卡窗格...... 而不是每个标签内容