用JS添加和删除class类名

下面介绍一下如何给一个节点添加和删除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>

效果是这样的:

在点击切换的过程中,我们需要给被选中的子选项添加“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)

时间: 2024-08-24 15:51:56

用JS添加和删除class类名的相关文章

js添加确认删除操作注意事项

1 function delsure(){ 2 if(confirm('确认删除吗?')){ 3 return true;//点击确定则返回这里的内容 4 }else{ 5 return false; 6 } 7 } 在表单中添加onsubmit="return delsure(this)", confirm("确认删除吗?")如果点确定返回true,点取消返回false,必须要添加return true和return false,不然不起作用! js添加确认删除操

JS 添加和删除HTML 标签

//添加一行价格 $('#add_ladder_price').click(function(){ var trHTML = '<tr align="center" class="tr_ladder_price">' + '<td><input style="text-align: center" type="text" name="purchases" value="

电力项目十七--数据字典首页JS添加和删除表格

知识点:jQuery是一个JavaScript函数库. JS代码: function insertRows(){ //获取表格对象 var tb1 = $("#dictTbl"); var tempRow = $("#dictTbl tr").size();//获取表格的行数 var $tdNum = $("<td align='center'></td>"); $tdNum.html(tempRow); var $tdN

纯js 添加数组删除

Array.prototype.remove = function (s, dust) { //如果dust为ture,则返回被删除的元素 if (dust) { var dustArr = []; for (var i = 0; i < this.length; i++) { if (s == this[i]) { dustArr.push(this.splice(i, 1)[0]); } } return dustArr; } for (var i = 0; i < this.length

原生JS 添加或者删除某个class

$S.addHandler($S.getId(fav[i]),'mouseover',function(){                this.className += " "+'S_hover';            });            $S.addHandler($S.getId(fav[i]),'mouseout',function(){                var reg = new RegExp('(\\s|^)'+'S_hover'+'(\\s|

添加一行删除一行-js代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js中cookie的添加,删除,查询总结

function addCookie(objName,objValue,objHours){//添加cookie var str = objName + "=" + escape(objValue); if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objHours*3600*1000; date.setTime(date.getTime() + ms); str +=

JS数组方法汇总 array数组元素的添加和删除

js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[1] = "bbb"; arr[2] = "ccc"; //alert(arr.length);//3 arr.pop(); //alert(arr.length);//2 //alert(arr[arr.length-1]);//bbb arr.pop(); //al

Jquery 动态添加删除元素 用js添加的元素无法删除问题

用jquery方法的绑定侦听和销毁来解决动态div的增加删除: 正确代码: <script type="text/javascript" > $(document).ready(function(){  bindListener(); }) function addimg(){  $("#mdiv").append('<div ><input type="file" name="img[]" /&