参考:jsFiddle
上面的 jsFiddle 有一个li
类名的元素accordion
,我们称之为父元素。使用 jQuery 选择它后,将应用自定义background-color
的green
。
但是,我还需要一个子元素li
,确切地说是 anchors元素,以便在 jQuery在初始选择特定 anchorteal
期间对其应用类名时具有颜色。active
HTML:
<ul class="tabs">
<li class="accordion"><a href="#tab1">Boo1</a>
<ul id="sub-nav">
<li><a href="#"> Ipsum Text</a></li>
<li><a> Lorem text</a></li>
<li><a> More lorem text </a></li>
<li><a> Dolor Sit Amet </a></li>
</ul>
</li>
<li><a href="#tab2">Boo2</a></li>
<li><a href="#tab3">Boo3</a></li>
<li class="last-item"><a href="#tab4">Boo4</a></li>
</ul>
CSS:
.tabs li.active { background: green; }
.tabs li {font-size:20px;}
#sub-nav li {font-size:16px; margin-left:20px;}
#sub-nav li a.active {background:teal;}
jQuery:
(function(){
$('.tabs li').on('click', function(e){
$('.tabs li').removeClass('active');
$(this).addClass('active');
$(this).closest('ul').closest('li').children('a').addClass('active');
})
}());