一 写个函数然后传入对象元素跟样式名字,判定是否为空,如果不为空就赋值样式名字;

function addclass(elm,newclass){var c = elm.className;if(c!="")elm.className=newclass;
}

二 写个函数然后传入对象元素跟需要添加到样式名字,判定是否为空,如果为空就赋值,否则就加个空格再赋值

function addclass(elm,newclass){var c = elm.className;elm.className = (c =="") ? newclass : c+' '+newclass;
}

三 传入对象元素跟样式名字,然后把elm.className看成用“ ”(空格)分割的字符串,用split去除空格变成数组,然后用push方法添加样式到数组中,用join添加空格变成字符串再赋值给元素的class,很独特很棒的方法。

function addclass(elm,newclass){ var classes = elm.className.split(' '); classes.push(newclass); elm.className = classes.join(' ');
}

然而,我觉得有点不足,假如元素本来就有newclass这类名,那怎么办?就像这样:
<div class="div1 div2">
然后我想添加个div2类给这个div,如果用第三种方法,虽然不会出错,但页面显示会变成这样<div class="div1 div2 div2">,于是我用第四种方法:

四 继承第三种方法的优势,在其基础上做了个循环判定,保证没有重复的名字存在。

function zhen(obj,claName){var cla=obj.className.split(" ");for(var i=0;i<cla.length;i++){if(cla[i]==claName)return;}cla.push(claName);obj.className=cla.join(" ");
}

jquery添加类极易,一般工作用jquery添加,在此不赘述。

转载于:https://www.cnblogs.com/wu-hou/p/6375431.html

原生js给div添加类相关推荐

  1. 原生js清空上一个元素内容_原生JS实现动态添加新元素、删除元素方法

    1. 添加新元素 动态添加新元素 Coffee Tea Coffee Tea var child = document.getElementsByClassName("child" ...

  2. 原生js实现购物车添加删除商品、计算价格功能

    购物车 功能需求: 根据数据创建购物车内容: 实现购物车添加商品功能: 实现购物车商品数量的增加.减少: 实现购物车商品的删除功能: 购物车的全选功能: 无货商品不可修改数量.不计入总价: 底部计算总 ...

  3. 原生js 给动态添加的元素添加(事件监听器)

    原生js (事件监听)和(动态添加元素) 给动态添加的元素添加点击事件 <!DOCTYPE html> <html><head><meta charset=& ...

  4. 原生js设置div隐藏或者显示_10种JS控制DIV的显示隐藏代码

    div隐藏与显示 #menus { background-color: #c4cff0; } function Layer_HideOrShow(cur_div) { var current=docu ...

  5. html 鼠标放在div悬停事件,用js给div添加鼠标悬停事件

    新任务:给表格上的某列添加鼠标悬浮事件 但是表格是由omGrid生成的,无法修改 所以只能先获取,再添加事件 先用firebug看清表格结构:\ 是div class="innerCo1 & ...

  6. 原生js删除html,原生js操作dom添加删除替换class

    1.比较传统的方法 var classVal = document.getElementById("id").getAttribute("class"); // ...

  7. 原生js设置div隐藏或者显示_JavaScript动画方式控制div元素的隐藏和显示

    jQuery实现此功能相对比较简单,具体参阅点击按钮动画方式隐藏和显示div一章节. 结合CSS3实现此功能也非常便利和适合,具体参阅JavaScript与CSS3动画方式改变元素尺寸一章节. 原生J ...

  8. 【原生js】动态添加class

    1.添加类名: document.getElementById("myDiv").classList.add('mystyle'); 2.删除类名: document.getEle ...

  9. 原生js中如何添加dom元素

    1. appendChild() 概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加. 使用方式:fatherdom.appendChild( insertdom ). 兼容性:所有浏览器都 ...

最新文章

  1. linux怎样查看内核参数,Linux 实例如何查看和修改 Linux 实例内核参数?
  2. Linux01-bash脚本编程之六使用脚本选项及组合条件测试23
  3. C++11 bind注意事项(传引用参数的时候)
  4. java实现 - 树的层序遍历
  5. 要求做一个从网页上导入excel
  6. MongoDB学习笔记~以匿名对象做为查询参数,方便查询子对象
  7. Redis服务器被劫持风波
  8. pch文件找不到的解决办法
  9. js2D物理引擎插件
  10. python根据excel数据生成柱状图并导出成图片格式
  11. 9020cdn更换墨粉_感动常在!佳能ts9020打印机更换墨盒经验
  12. PostMan 调用 Auth2.0 获取Token 报错问题总结
  13. 智协云店通+BitCOO的4WiN.io全球互贸链 | 翼次元空间+Fund++
  14. CentOS Netcat 用法
  15. 曾仕强讲易经:元、亨、利、贞
  16. 3.3.10nbsp;质量管理——戴明,朱兰…
  17. 哥德尔奖得主Cynthia Dwork:实现算法公平性,长路漫漫
  18. iOS Autorelease Runloop
  19. 计算机游戏活动总结,关于亲子游戏活动总结最新三篇
  20. linux驱动程序调试方法

热门文章

  1. oracle 日期检查,在检查约束中使用日期,Oracle
  2. linux命令之diff,whereis,locate,pwd,cat,grep,touch,find
  3. 天呐!java生成DAT文件并写入数据
  4. python【数据结构与算法】程序设计:划分整数(DP)
  5. 计算机在有机合成中的应用,计算机在有机合成中的应用
  6. android 移除自己view,Android自定义View-带删除和搜索图标的EditText
  7. mathcal 对应于什么库_如何快速构建React组件库
  8. 网站想要快速收录到底难不难?4个问题快检查
  9. 网络推广——网络推广专员从多角度分析网站关键词排名受影响因素
  10. 网站降权可从两方面着手分析