如何使用jquery在第一个位置添加类?

如何使用jquery在第一个位置添加类?,jquery,jquery-validation-engine,Jquery,Jquery Validation Engine,我有一个元素有5个以上的类。我只需要在不影响其他同学的情况下替换第一个位置的班级 我不想替换所有类(我已经尝试过使用.attr('class','class1 class2 class3 class4 class5'),.prop,.switchclass等)您不必为此使用jQuery:只需直接寻址DOM元素及其className属性即可。例如(假设$el是围绕要更改的元素包装的jQuery对象): 这将用replacementClass字符串替换$el的第一个类 或者,您可以使用attr执行基

我有一个元素有5个以上的类。我只需要在不影响其他同学的情况下替换第一个位置的班级


我不想替换所有类(我已经尝试过使用.attr('class','class1 class2 class3 class4 class5'),.prop,.switchclass等)

您不必为此使用jQuery:只需直接寻址DOM元素及其
className
属性即可。例如(假设
$el
是围绕要更改的元素包装的jQuery对象):

这将用
replacementClass
字符串替换
$el
的第一个类

或者,您可以使用
attr
执行基本相同的操作:

$el.attr('class', function(_, cls) {
  return cls.replace(/^\S+/, replacementClass);
});

您可以使用
.toggleClass()
添加/删除类,或者使用
removeClass()
删除类,然后使用
addClass()
添加新类

例如: DOM:

你有这个:

<p class='classA classB classC'></p>
编辑的DOM:

<p class='myClassEdited classB classC'></p>


您在第一个位置添加了一个类,请查看raina77ow答案和其他答案。但是最后一节课比第一节课更有力量

比如说

class1 class2 class3 class4 class5

class5 {
   color:red
}

class1{
   color:green

}
因此,红色将适用于所有文本类别1没有用处,它是虚拟的

另一种方法:

//elem:DOM节点,将在其上切换类名,
//toggleClass:String,要切换的类名。
函数prependClassToggle(元素,toggleClass){
//如果元素当前具有传入的类名
if(elem.classList.contains(toggleClass)){
//我们使用classList API的remove()方法删除它:
elem.classList.remove(toggleClass);
}否则{
//否则,我们将传入的类名与
//className属性返回的字符串(和一个空格):
elem.className=toggleClass+“”+elem.className;
}
}
//document.querySelector()只返回与选择器匹配的第一个元素,或null,
document.querySelector('按钮')
//为其分配事件处理行为:
.addEventListener('单击',函数()){
//调用函数,传入的nextElementSibling,
//以及要添加的类名的字符串:
prependClassToggle(this.nextElementSibling,“classA”);
});
div::before{
内容:attr(类);
}
切换“classA”
这很简单。只用

element.addClass('YourClass')

用于删除任何类

element.removeClass('YourClass')


为什么在类名列表中的什么位置插入新的结束符很重要?我使用jquery验证引擎并选择2.js。。只有当类位于第一个位置时,验证引擎才会工作
<p class='classA classB classC'></p>
var classes = $('p').attr("class").split(" ");
var newClass = 'myClassEdited';
var classes[0] = newClass;
$('p').attr('class', classes.join(" "));
<p class='myClassEdited classB classC'></p>
class1 class2 class3 class4 class5

class5 {
   color:red
}

class1{
   color:green

}