如何为展开的菜单添加类并在折叠后删除类

时间:2013-04-09 11:32:03

标签: javascript jquery html

我尝试制作动态菜单列表,并且我有主菜单和子菜单,每个项目都有项目名称前面提供的子菜单(+)。 当我双击菜单项并且它工作时我使用了addClass来添加( - ),但是当我再次双击项目时会崩溃但是( - )符号不会变为(+)。 我的问题,如何在菜单崩溃时使用removeClass删除( - )符号并将其更改为(+)这是官方的?

非常感谢。

CSS:

.openSign{
  background: url('images/open.png')no-repeat 0px  0px;
}
.closeSign{
  background: url('images/close.png')no-repeat 0px  0px;
}

HTML:

<ul > 1
  <li class="navL1 openSign"> 1.1 
    <ul class="navL2 openSign"> 
      <li class="navL2 openSign"> 1.1.1
        <ul>
          <li class="navL3"><a>1.1.1.1 </a> </li>
          <li class="navL3">1.1.1.2 </li>
          <li class="navL3">1.1.1.3</li>
        </ul>

JavaScript的:

<script type="text/javascript">
       $(document).ready(function() {
                $(".navL2, .navL3").hide();
                $(".navL1").dblclick(function(e){
                    $(this).find('.navL2').slideToggle();
                    $(this).addClass("closeSign");   
              });
        });
</script>

2 个答案:

答案 0 :(得分:1)

有一个toggleClass就像slideToggle一样。

答案 1 :(得分:0)

如果您使用slideToggle,则还应使用toggleClass()(而不是addClass):

$(this).toggleClass("closeSign")
  .find('.navL2').slideToggle();