本篇文章为大家展示了使用JavaScript怎么动态添加和删除类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联是一家专业提供久治企业网站建设,专注与成都网站设计、成都网站建设、H5开发、小程序制作等业务。10年已为久治众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。首先等到一个 dom 对象(也叫dom元素), 通过document.getElement……的几种方法得到
如`
let element = document.getElementById("box");
1.通过类名, 获取类名: el.className, 赋值: el.className = "className" 会覆盖掉原来的类
2.通过属性,获取类名: el.getAttribute("class"); 赋值: el.setAttribute("class", "className1 className2"); 会覆盖掉原来的类
3.通过属性节点 attributeNode(性能差一点,但能兼容ie,getAttribute() ie 的有些版本不支持 )setAttributeNode() 方法向元素中添加指定的属性节点。
如果这个指定的属性已存在,则此方法会替换它。,获取类名: getAttributeNode("class").value, 赋值:
let attr = document.createAttribute("class"); attr.nodeValue = "className"; el.setAttributeNode(attr)
4.通过 classList属性, 获取类名 el.classList; 追加类名: el.classList.add("className"); 删除类 : el.calssList.remove("className");
上边四种方法, classList最灵活,最好好用, 但是不支持 ie9 以下的浏览器, 兼容性要差一些
代码如下:
html
按钮1按钮2按钮3按钮4
js代码, 其中用到了ES6语法(用ES6写简洁)
let myEventUtil = { // 添加监听事件 addEvent (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attach){ // ie element.attach("on"+ type, handler); } else { element['on' + type] = handler; } }, getTarget (event) { let event = event || window.event; return event.target || event.srcElement; } } let my$ = id => document.getElementById(id); let btnGroup = my$(“btn-group”); myEventUtil.addEvent(btnGroup, 'on', function (ev) { // 给所有的 btn 都移除激活的类 btn-active // console.log(this) ==> 是一个dom元素 btnGroup // 可以通过 el.children[i]拿到具体的子元素 // 拿到子元素了可以通过 el.classList.remove("className") 删除类 // el.classList.add("className") 来添加类 // 删除类 let len = this.children.length; for (let i = 0; i < len; i ++) { this.children[i].classList.remove("btn-active"); // this.children[i].className = "btn"; // 用其中一个就行 } // 添加类, 拿到具体的 btn 给它添加类 myEventUtil.getTarget(ev).classList.add("btn-active"); // myEventUtil.getTarget(ev).className = "btn"; // 用其中一个就行 });
1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3、js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4、js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5、基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。
上述内容就是使用JavaScript怎么动态添加和删除类,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。