增加类,删除类,查找类
//查找类
function getElementsByClassName(parent,tagName,className){
var aEle=parent.getElementsByTagName(tagName);
var arr=[];
for(var i=0; i<aEle.length; i++)
{
var aClassName=aEle[i].className.split(' '); //....................(以空格为准)在拆分一次
for(var j=0; j<aClassName.length; j++)
{
if(aClassName[j]==className)
{
arr.push(aEle[i]);
break; //.............................如果找到一个就跳出循环
}
}
}
return arr;
}
//判断有没有重复的 用来配合增加类和删除类来用的
function arrIndexOf(arr,v)
{
for(var i=0; i<arr.length; i++)
{
if(arr[i]==v)
{
return i;
}
}
return -1;
}
// 添加class函数
function addClass(obj,className)
{
if(obj.className=='') //.........................判断对象原来有没有类 没有就直接添加类
{
obj.className=className;
}
else{
var arr2=obj.className.split(' ');
var cun=arrIndexOf(arr2,className);
if(cun == -1){ //..............................判断对象原来没有这个类 然后在添加
obj.className +=' '+className;
}
}
}
//删除类函数
function removeClass(obj,className)
{
if(obj.className != '')
{
var arr2=obj.className.split(' ');
var cun=arrIndexOf(arr2,className);
if(cun != -1){
arr2.splice(cun,1); //...................................................splice(index,howmany,item1)
obj.className=arr2.join(' ');
}
}
}
知识点:
splice(index,howmany,item1)
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1:可选。向数组添加的新项目。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程