0

参考:jsFiddle

上面的 jsFiddle 有一个li类名的元素accordion,我们称之为父元素。使用 jQuery 选择它后,将应用自定义background-colorgreen

但是,我还需要一个子元素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');
    })       

}());
4

1 回答 1

2

这是想要的吗?$("ul li a", $(this))是“潜艇的锚标签”。

于 2012-07-25T06:58:34.260 回答