33

使用 jQuery,我如何在点击时将 classA 切换到 classB:

<a class="switch" href="#">Switch</a>
<div class="classA"></div>


$('.switch').on('click', function(e){
    $('.classA').removeClass('classA').addClass('classB');
    e.preventDefault();
};

如何切换课程,而不是像我在这里所做的那样替换它?

4

3 回答 3

79

jQuery 有一个toggleClass函数:

<button class="switch">Click me</button>

<div class="text-block collapsed pressed">some text</div>

<script>    
    $('.switch').on('click', function(e) {
      $('.text-block').toggleClass("collapsed pressed"); //you can list several class names 
      e.preventDefault();
    });
</script>
于 2013-03-26T01:51:43.537 回答
27

你可以用 toggleClass() 它来切换类它真的很方便。

情况1

<div id='mydiv' class="class1"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class2"></div>

案例:2

<div id='mydiv' class="class2"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class1"></div>

案例:3

<div id='mydiv' class="class1 class2 class3"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class3"></div>
于 2014-04-11T06:42:58.133 回答
0

它甚至可以依赖于另一个属性的变化。像这样:

$('.classA').toggleClass('classB', $('input').prop('disabled'));

在这种情况下,classB每次输入时都会添加disabled

于 2020-11-29T16:53:03.160 回答