用JS添加和删除class类名

摘要:
下面介绍一下如何给一个节点添加和删除class名添加:节点.classList.add;删除:节点.classList.remove;以tab切换为例:在写tab切换的时候,通常我们会给选中的tab设置不同的样式,常用的方法是给被选中的tab新增一个class名,然后改这个class名的样式。然后我们把其他的选项卡的“active”移除,只需要在其他子节点的后面加上.classList.remove,比如:arr[j].classList.remove;这样就实现了我们想要的功能。

下面介绍一下如何给一个节点添加和删除class名

添加:节点.classList.add("类名");

删除:节点.classList.remove("类名");

以tab切换为例:

在写tab切换的时候,通常我们会给选中的tab设置不同的样式,常用的方法是给被选中的tab新增一个class名,然后改这个class名的样式。

比如 起一个class名叫“active”

设置样式

.active{
    color: #FFD113 !important;
}

在html代码中给首页(默认选中)加上class名active

<a class="tab_item active">
    <span class="iconfont icon-shouye"></span>
    <span class="tab2">首页</span>
</a>

效果是这样的:

用JS添加和删除class类名第1张

在点击切换的过程中,我们需要给被选中的子选项添加“active”,然后让其它子选项删除“active”名。

该怎么做呢?

首先,通过JS取到所有tab的节点

var arr = document.getElementsByClassName("tab_item");

然后只需在被选中的子节点加上.classList.add("类名"),比如:

arr[i].classList.add("active");

这样就给当前子选项卡添加了“active”类名。

然后我们把其他的选项卡的“active”移除,只需要在其他子节点的后面加上.classList.remove("类名"),比如:

arr[j].classList.remove("active");

这样就实现了我们想要的功能。

当然也可以通过其他方法,比如下面:(来源:https://segmentfault.com/q/1010000002955089?sort=created)

用JS添加和删除class类名第2张

免责声明:文章转载自《用JS添加和删除class类名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Codeforces 891 C EnvyJetson AGX Xavier ROS下调用USB单目摄像头下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js设置自动刷新

如何实现刷新当前页面呢?借助js你将无所不能。 1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])   参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,re...

关于iframe中的js跨站

iframe中的js跨站的问题很是头痛,关于js跨站的方法可以参考 wujiajun1020。 这里结合我遇到的情况讲讲我的处理方法,我的情况是要在各个站点中调用其中某一个站点的登录页,来达到统一登录的目的(这里详述单点登录了)。在不同站点下调用某一个站点的登录页面,想了想还是用iframe吧,iframe还是很强大的。于是用js写了一个遮罩效果的dial...

js前台传数组,java后台接收转list,前后台用正则校验

前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合。 前台js:var params = {"FileNameList": JSON.stringify(fileNames)}; 前台正则校验: var reg = /^[u4e00-u9fa5A-Za-z0-9-]{1,50}.txt$/;...

JS获取当前时间

用JS获取当前时间,并且对此时间进行分解和重组,以不同的形式返回,代码如下所示: function GetCurrentTime(flag) {var currentTime = "";var myDate = new Date();var year = myDate.getFullYear();var month = parseInt(myDate.ge...

js 过滤数组里对象的某个属性

需求 一个大数组,里面乱七八糟一堆属性。现在只需要其中两个属性,用这两个属性组成一个对象,重新得到一个新数组。新数组长度跟老数组一样,只不过里面所有对象只剩下了两个属性 示例 handleSelectionChange(selection) { var invoiceGxQueryList = []; for (var i =...

python之selenium操作隐藏元素

    Fast traslate Icon translate     getElementsByTagName   GetElementsByTagName Fast traslate Icon translate 一、html显示与隐藏元素的几种方法 1、display none:...