繁体   English   中英

从中删除和添加类 <div> 和 <li> 在jQuery中

[英]Remove and Add class from <div> and <li> in jquery

 <ul class="current">
   <li>
       <a href="#nogo"><b>Products</b>
         <div class="select_sub show">
             <ul class="sub">
              <li class="sub_show"><a href="#nogo">Add product</a></li>
             </ul>
         </div>
       </a>
  </li>
</ul>


<ul class="select">
   <li>
       <a href="#nogo"><b>Item</b>
         <div class="select_sub">
             <ul class="sub">
              <li><a href="#nogo">Add Item</a></li>
             </ul>
         </div>
       </a>
  </li>
</ul>

1.单击项目链接后,我想在当前ul当前类别中添加类别并删除其他形式的此代码

$("ul").click(function(e){

  e.preventDefault();

 $(this).addClass("current").siblings().removeClass("current").addClass("select");

});

我对第二点有疑问

  1. 当我单击项目链接时,我要添加类select_sub显示哪个div具有类select_sub

我的意思是说(如果我单击项目链接)

<ul class="select">
 <li>
   <a href="#nogo"><b>Products</b>
     <div class="select_sub">
         <ul class="sub">
          <li><a href="#nogo">Add product</a></li>
         </ul>
     </div>
   </a>
</li>
</ul>


<ul class="current">
 <li>
    <a href="#nogo"><b>Item</b>
      <div class="select_sub show">
         <ul class="sub">
          <li class="sub_show"><a href="#nogo">Add Item</a></li>
         </ul>
      </div>
   </a>
</li>
</ul>

提前致谢

如果我正确理解了您的问题,那么下面应该可以解决问题。

$("ul").click(function(e){    
    e.preventDefault();
    var $this = $(this);
    var $siblings = $(this).siblings();

    $this.addClass("current"); //probably need to add .removeClass('select')
    $this.find('.select_sub').addClass('show');

    $siblings.removeClass("current").addClass('select');
    $siblings.find('.select_sub').removeClass('show');


});

应该这样做:

$("ul").click(function(e){
   e.preventDefault();
   $(".current").addClass("select"); //Add the default "select" class to any "current"
   $(".current").removeClass("current"); //Remove "current" from any "current"
   $(this).removeClass("select"); //Remove "select" from the clicked UL
   $(this).addClass("current"); //Add "current" to the clicked UL
});

如果需要,您可以将它们称为2行,但是我认为这更容易理解。

应该像添加一样简单:

$('.current .select_sub').addClass('show');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM