使用jQuery在两个元素之间切换类

pei*_*rix 2 jquery

我有两个元素,每个元素都有一个类名.在某些事件上,我希望他们换班.
所以基本上我想做这样的事情:

$("#div1").switchClassWith("#div2");

<div id="div1" class="someStylingClass">...content...</div>
<div id="div2" class="someOtherClass">...content...</div>
Run Code Online (Sandbox Code Playgroud)

这将导致#div1拥有someOtherClass其类名,并#div2有someStylingClass......任何建议?

mea*_*gar 10

你可以使用toggleClass():

 $('#div1,#div2').toggleClass('someStylingClass someOtherClass');
Run Code Online (Sandbox Code Playgroud)

假设您从您发布的示例开始,其中每个元素都有一个类或另一个类(但不是两个),那么这将按预期工作.

如果您需要在不知道要交换哪些类的情况下交换类,则可以执行以下操作:

var $div1 = $('#div1'), $div2 = $('#div2'), tmpClass = $div1.attr('class');
$div1.attr('class', $div2.attr('class'));
$div2.attr('class', tmpClass);
Run Code Online (Sandbox Code Playgroud)

  • `.toggleClass('someStylingClass someOtherClass')`:) (2认同)