原生js封装添加class,删除class的实例
一、添加class
function addClass(ele,cName) { var arr = ele.className.split(' ').concat(cName.split(" ")); for(var i=0;i<arr.length;i++){ for(var k=arr.length-1;k>i;k--){ (arr[k]==="")&&arr.splice(k,1); (arr[i]===arr[k])&&arr.splice(k,1); } } ele.className = arr.join(" "); }
二、删除class
function removeClass(ele,cName) { var arr1 = ele.className.split(' '); var arr2 = cName.split(" "); for(var i=0;i<arr2.length;i++)for(var j=arr1.length-1;j>=0;j--)(arr2[i]===arr1[j])&&arr1.splice(j,1) ele.className = arr1.join(" ") }
其中还有一点空格的问题没有解决,如果你能学到一点东西,我会非常开心。
以上这篇原生js封装添加class,删除class的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
js实现class样式的修改、添加及删除的方法
本文实例讲述了js实现class样式的修改.添加及删除的方法.分享给大家供大家参考.具体分析如下: 比较常见的js前端功能,通过修改标签的className实现相应的功能. 具体代码如下: 复制代码 代码如下: <table> <tbody> <tr> <td>js实现class的样式的修改.添加.删除</td> <td> <a e_value="g_sn" ename="商品编码" c
-
原生js事件的添加和删除的封装
在IE浏览器中添加或删除事件用attachEvent.detachEvent.在其他标准浏览器中则用addEventListener.removeEventListener.下面的对事件的添加和删除做了封装.直接看代码吧! /** * @description 事件绑定,兼容各浏览器 * @param target * 事件触发对象 * @param type * 事件 * @param func * 事件处理函数 */ function bind(target, type, func) { i
-
原生js实现查找/添加/删除/指定元素的class
复制代码 代码如下: window.onload = function(){ var gaga = document.getElementById( "gaga" ); addClass( gaga,"gaga1" ) addClass( gaga,"gaxx" ); removeClass( gaga,"gaga1" ) removeClass( gaga,"gaga" ) function hasCla
-
原生js实现class的添加和删除简单代码
实例代码: function hasClass( elements,cName ){ return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); }; function addClass( elements,cName ){ if( !hasClass( elements,cName ) ){ elements.className += " "
-
原生js封装添加class,删除class的实例
一.添加class function addClass(ele,cName) { var arr = ele.className.split(' ').concat(cName.split(" ")); for(var i=0;i<arr.length;i++){ for(var k=arr.length-1;k>i;k--){ (arr[k]==="")&&arr.splice(k,1); (arr[i]===arr[k])&&
-
详解原生JS动态添加和删除类
由于需要, 给按钮组监听点击事件(要求用事件委托),当有一个按钮被点击时,相应的给该按钮添加一个类(激活类),其他没有点击的按钮就要移出该类 添加和和删除类有三种方法 首先等到一个 dom 对象(也叫dom元素), 通过document.getElement--的几种方法得到 如` let element = document.getElementById("box"); 1.通过类名, 获取类名: el.className, 赋值: el.className = "clas
-
Vue.js动态添加、删除选题的实例代码
大家先看看页面效果吧,当当当当``````````````````````` 图中第二个选题是小颖点击了"新增选题"按钮,然后出来的,当你点击了"删除选项"或"删除选题"按钮,就会删除相应的选项和选题. html代码 <template> <div class="main-container"> <div class="form-horizontal"> <temp
-
原生js 封装get ,post, delete 请求的实例
现在的项目中都在用VUE 以及react 等MVC, MVVM 框架. 丢弃了原始的JQ .不可能为了个$.ajax();而把JQ引进来吧. 在vue1的开发中 提供了 vueResouce, vue2 出来后明确提出了不在更新vueResouce 而提供axios 的方法. 在react 的开发中提供fetch 封装的方法.等等.但在工作与后台的交互中基本都是form表单的形式.于是自己封装了个 POST,GET,DELETE 的请求方式.当然根据不同的公司,不同的方式.都可以自己扩展.目前
-
原生JS封装Ajax插件(同域、jsonp跨域)
抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正确的地方,还望指正^_^ 一.Ajax核心,创建XHR对象 Ajax技术的核心是XMLHttpRequest对象(简称XHR),IE5是第一款引入XHR对象的浏览器,而IE5中的XHR对象是通过MSXML库中的一个ActiveX对象实现的,因此在IE中可能有3个版本,即MSXML2.XMLHttp.
-
原生JS封装animate运动框架的实例
如下所示: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> div { width: 100px; height: 100px; background-color: pink; position: absolute; left: 0; top: 50px; b
-
原生JS封装拖动验证滑块的实现代码示例
前言 星期六闲着没事,就想着写写原生js玩玩,在网上看了几个效果后决定做这个效果,并且使用了prototype和eventEmitter封装成了库. 最终效果 分析 看到这个效果我们首先应该想到和拖动有关的api: onmousedown, onmousemove, onmouseup 其次要支持用户传入放置这个组件的dom元素和完成的回调事件. 最终如何使用? 我们先来看下使用方式,再来决定我们怎么编写这个库 具体使用就是这样的,我们还想用户能通过import等方式使用,所以我们就要支持esM
-
基于原生JS封装的Modal对话框插件的示例代码
基于原生JS封装Modal对话框插件,具体内容如下所示: 原生JS封装Modal对话框插件,个人用来学习原理与思想,只有简单的基本框架的实现,可在此基础上添加更多配置项 API配置 //基本语法 let modal = ModalPlugin({ //提示的标题信息 title:'系统提示', //内容模板 字符串 /模板字符串/DOM元素对象 template:null, //自定义按钮信息 buttons:[{ //按钮文字 text:'确定', click(){ //this:当前实例 }
-
原生JS封装vue Tab切换效果
本文实例为大家分享了原生JS封装vue Tab切换的具体代码,供大家参考,具体内容如下 先看效果图 使用的技术 vue,js,css3 vue组件 可以直接使用 <template> <div class="bookcircle-header"> <ul class="wrapper" :class="headerActive == 0 ? 'friend' : 'booklist'"> <li @cli
-
原生js封装无缝轮播功能
原生js封装无缝轮播插件,供大家参考,具体内容如下 说明: 这是一个使用原生js.es5语法写出的无缝轮播程序,代码中对相关api进行了封装,使得在引入该轮播js文件后,只需要在自己的js文件中添加两行代码即可在网页中实现一个基本的无缝轮播图效果. 基本使用步骤为:获取dom元素数组.向轮播对象中传参.轮播对象调用自动轮播方法. 除基本的定时器自动轮播功能外,该程序还支持设置过渡动画时间.设置鼠标移入元素自动轮播停止.设置点击左右侧边按钮时轮播.设置点击下方按钮时轮播功能. 该程序不需要依赖cs
随机推荐
- 将军殿脚本代码(道士)
- jQuery中ajax的load()与post()方法实例详解
- Extjs EditorGridPanel中ComboBox列的显示问题
- 运营内部PPT分享:通俗易懂聊运营
- innerText和innerHTML 一些问题分析
- jquery获取URL中参数解决中文乱码问题的两种方法
- C#嵌套类的访问方法
- C#设计模式之Mediator中介者模式解决程序员的七夕缘分问题示例
- javascript继承的六大模式小结
- jQuery响应鼠标事件并隐藏与显示input默认值
- JS+CSS实现Li列表隔行换色效果的方法
- C#递归实现显示文件夹及所有文件并计算其大小的方法
- 详解 Java中日期数据类型的处理之格式转换的实例
- 基于canvas的二维码邀请函生成插件
- 基于JavaScript实现五子棋游戏
- Android Studio 新手入门教程(一)基本设置图解
- 正则表达式 \D 元字符(等价于"[^0-9]")
- centos7系统下python2与python3共存
- pandas 对每一列数据进行标准化的方法
- jQuery+Datatables实现表格批量删除功能【推荐】