.each jQuery 中的多个条件

Multiple condition in .each jQuery

这是我的 HTML

<span class="sp-right">
    <label>Name:</label>
</span>
<span class="sp-left">
    <select name="omoor" required>
        <option value="" style="display:none">something</option>
    </select>
</span>  

我想通过切换将 sp-rightclass 更改为 sp-left class 并将 sp-left 更改为 sp-right

这是我的 jquery

$(".sp-right").each(function(){
    $(this).removeClass("sp-right").addClass("sp-left");
});  

它只对 1 个元素有效?
有什么想法吗?
谢谢

检查函数内的当前类名。

$(".sp-left, .sp-right").each(function(){
    var el = $(this);

    if (el.hasClass('sp-left')) {
        el.removeClass("sp-left").addClass("sp-right");
    } else {
        el.removeClass("sp-right").addClass("sp-left");
    }    
});  

一行简单 toggleClass:

$('.sp-right, .sp-left').toggleClass("sp-right sp-left");

无需手动检查 类 和 remove/addClass,因为 toggleClass 正是这样做的。您也可以提供多个 space 分隔 类 来切换。