js 修改className
1. 添加。输入:元素,类名
functionaddClass(elm,newClass){
varclasses = elm.className.split(' ');
varclassIndex=hasClass(elm,newClass);
if(classIndex==-1)classes.push(newClass);
elm.className = classes.join(' ');
}
|
2. 查找。输入:元素,类名 返回:index
functionhasClass(elm,className){
varclasses = elm.className.split(' ');
for(vara inclasses){
if(classes[a]==className)returna;
}
return-1;
}
|
3. 删除。输入:元素,类名
functiondelClass(elm,className){
varclasses = elm.className.split(' ');
varclassIndex=hasClass(elm,className);
if(classIndex!=-1)classes.splice(classIndex,1);
elm.className=classes.join(' ');
}
function hasClass(element, className) { var reg = new RegExp('(\\s|^)'+className+'(\\s|$)'); return element.className.match(reg); } function addClass(element, className) { if (!this.hasClass(element, className)) { element.className += " "+className; } } function removeClass(element, className) { if (hasClass(element, className)) { var reg = new RegExp('(\\s|^)'+className+'(\\s|$)'); element.className = element.className.replace(reg,' '); } }
splice() 方法用于插入、删除或替换数组的元素。
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
提示和注释
注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225701.html原文链接:https://javaforall.net
