7

<li>我做了一个小函数,当我们点击 < 时,它的工作是添加类li>,但如果它已经有,我想删除它<li>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
    <meta name="created" content="Tue, 22 May 2012 12:39:23 GMT">
    <meta name="description" content="">
    <meta name="keywords" content="">
    <title></title>

    <style type="text/css">
    <!--
    body {
      color:#000000;
      background-color:#FFFFFF;
    }
    a  { color:#0000FF; }
    a:visited { color:#800080; }
    a:hover { color:#008000; }
    a:active { color:#FF0000; }
    -->
    </style>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

    <script type="text/javascript">

    $(function(){

    $('.main').find('li').each(function(){

    $(this).live('click', function (){

    $(this).addClass('active')

    })

    })

    })

    </script>

  </head>
  <body>

  <ul class="main">
  <li>first</li>

  <li>second</li>
    <li>third</li>
      <li>fourth</li>  

  </ul>

  </body>
</html>
4

4 回答 4

14

您可以使用toggleClass它将根据需要添加或删除它

$('.main li').live('click',function(){
  $(this).toggleClass('active');
});

如果你想从其他地方删除这个类,你可以添加一个额外的行:

$('.main li').live('click',function(){
  $('.main li.active').removeClass('active')
  $(this).addClass('active');
});
于 2012-05-22T12:47:45.463 回答
2

使用 jquery 函数.toggleClass

$('.main li').click( function(){
  $(this).toggleClass('active');
}); 

那应该可以解决问题;) http://api.jquery.com/toggleClass/

于 2012-05-22T12:47:34.457 回答
1

更好的是我们可以使用 . on().delgate()方法:

不再推荐使用 .live() 方法,因为更高版本的 jQuery 提供了没有缺点的更好方法。特别是,使用 .live()会出现以下问题:

https://api.jquery.com/live/

$('#showDiv').on('click',function(){
  $(this).toggleClass('active');
});
于 2022-03-04T07:54:48.743 回答
0

这将工作尝试...

$("#button").click(function(){

 $(".addclass").addClass("add");



})

$("#button2").click(function(){

 $(".addclass").removeClass("add");

})
.add{
color:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p class="addclass">Sample text to add class on it</p>
<button id="button">Add Class</button>
<button id="button2">Remove Class</button>

于 2020-03-03T10:32:01.717 回答