原生js实现删除class和添加class

内容来自百度搜索

//判断样式是否存在

function hasClass(ele, cls) {

    return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));

}

//为指定的dom元素添加样式

function addClass(ele, cls) {

    if (!this.hasClass(ele, cls)) ele.className += " " + cls;

}

//删除指定dom元素的样式

function removeClass(ele, cls) {

    if (hasClass(ele, cls)) {

        var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");

        ele.className = ele.className.replace(reg, " ");

    }

}

//如果存在(不存在),就删除(添加)一个样式

function toggleClass(ele,cls){ 

    if(hasClass(ele,cls)){ 

        removeClass(ele, cls); 

    }else{ 

        addClass(ele, cls); 

    

}

//调用

function toggleClassTest(){ 

    var ele = document. getElementsByTagName(‘body‘)[0]; 

    toggleClass(ele,"night-mode"); 

时间: 2024-10-30 18:31:57

原生js实现删除class和添加class的相关文章

原生JS实现删除<li>标签一行内容

利用面向对象思想完成买家信息删除功能,每一条信息包含: 姓名(name) 性别(sex) 电话号码(number) 省份(province) 实现以下要求: 不能借用任何第三方库,需要使用原生代码实现. 结合给出的基本代码结构,在下方2处code here补充代码,完成买家信息的删除功能,注意此页面要在手机上清晰显示. js代码可以任意调整,例如和使用es6代码完成. <!DOCTYPE html> <html> <head> <meta charset=&quo

原生js怎么删除一个 div

<!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代码挑战之动态添加双色球

var ballArr = []; //存放已有的红球,用来排除重复和排序window.onload = function(){ var btn = document.createElement("button"); btn.innerHTML = "按键开始传球!"; btn.onclick = turnRunGo; document.getElementsByTagName("body")[0].appendChild(btn);}//当有重

【学习】原生js学习笔记1:添加class和使input为不可用

<input type="checkbox" id="new_check" onChange="noUse()" checked> <input type="button" class="new_login_btn2" id="new_login"> <script>var new1=document.getElementById("new_

常用原生JS兼容写法

在我们前端开发中,经常会遇到兼容性的问题,因为要考虑用户会使用不同的浏览器来访问你的页面,你要保证你做的网页在任何一个浏览器中都能正常的运行,下面我就举几个常用原生JS的兼容写法: 1:添加事件方法 addHandler:function(element,type,handler){  if(element.addEventListener){//检测是否为DOM2级方法   element.addEventListener(type, handler, false);  }else if (e

原生js事件的添加和删除

在IE浏览器中添加或删除事件用attachEvent.detachEvent.在其他标准浏览器中则用addEventListener.removeEventListener.下面的对事件的添加和删除做了封装.直接看代码吧! /** * @description 事件绑定,兼容各浏览器 * @param target * 事件触发对象 * @param type * 事件 * @param func * 事件处理函数 */ function bind(target, type, func) { i

原生js实现的创建和删除元素实例代码

原生js实现的创建和删除元素实例代码:在实际应用中,往往需要动态的创建和删除指定的元素,下面就通过代码实例介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title&g

原生JS添加节点方法与JQuery添加节点方法的比较及总结

一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div1</div> <div id="div2">div2 <span id="span1">span1</span> <span id="span2">span2</span> </div> <div id="div

原生js添加class

function hasClass(obj, cls) { return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); } function addClass(obj, cls) { if (!this.hasClass(obj, cls)) obj.className += " " + cls; } function removeClass(obj, cls) { if (hasClass(obj, cls