Javascript jQuery removeClass和addClass不使用特定的CSS选择器

Javascript jQuery removeClass和addClass不使用特定的CSS选择器,javascript,jquery,css,Javascript,Jquery,Css,我在一个简单的网站上工作,希望在输入匹配时添加一个类 我以前尝试使用以下方法添加类(并删除错误类): var pass1Obj = $('#SignUpPassword'); var pass2Obj = $('#SignUpPasswordRep'); $(pass1Obj, pass2Obj).removeClass('failInput'); $(pass1Obj, pass2Obj).addClass('successInput'); 但这不起作用。它正在检索两个对象,但只在第一个对象

我在一个简单的网站上工作,希望在输入匹配时添加一个类

我以前尝试使用以下方法添加类(并删除错误类):

var pass1Obj = $('#SignUpPassword');
var pass2Obj = $('#SignUpPasswordRep');
$(pass1Obj, pass2Obj).removeClass('failInput');
$(pass1Obj, pass2Obj).addClass('successInput');
但这不起作用。它正在检索两个对象,但只在第一个对象(pass1Obj)上添加和删除类

但这是可行的

var pass1Obj = $('#SignUpPassword');
var pass2Obj = $('#SignUpPasswordRep');
$(pass2Obj).removeClass('failInput');
$(pass2Obj).addClass('successInput');
$(pass1Obj).removeClass('failInput');
$(pass1Obj).addClass('successInput');
我使用的是来自的jquery版本3.4.1

为什么单独选择和更改对象有效,但选择多个对象无效?

为什么单独选择和更改对象有效,但选择多个对象无效

根据jQuery对象
$(pass1Obj,pass2Obj)
,您正在指定内部转换为

$(pass2Obj).find(pass1Obj)
由于
pass1Obj
不是
pass2Obj
的子代,上述代码无法工作


您可以使用创建一个新的jQuery,然后对其执行所需的操作

pass1Obj.add(pass2Obj).toggleClass('failInput successInput');
这里有一个例子

var p1=$(“#para1”),
p2=$(“#para2”);
p1.添加(p2).切换类(“红-绿”)
.green{
颜色:绿色;
}
瑞德先生{
颜色:红色;
}

para1


para2应该是pass2Obj.removeClass(“…”)
您可以使用.add():
pass1Obj.add(pass2Obj.removeClass(“…”)