直接撸代码 全靠死记硬背 没什么技术点

HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>原生js实现对类的增加、删除、修改</title>
</head>
<body>
<div id="test" class="old-class"></div>
</body>
</html>

JS部分 方案一(原生js):

// 获取节点和节点的class属性值
var $test = document.getElementById("test");
var test_class_name = $test.getAttribute("class"); // 增加一个class
test_class_name = test_class_name.concat(" add-class");
$test.setAttribute("class",test_class_name ); // 删除一个class
test_class_name = test_class_name.replace("old-class","");
$test.setAttribute("class",test_class_name ); // 替换一个class
test_class_name = test_class_name.replace("old-class","new-class");
$test.setAttribute("class",test_class_name);

方案2 (H5新特性) :

contains(value) 判断名为value的类名是否存在
add(value) 添加名为value的类名
remove(value) 删除名为value的类名
toggle(value) 如果名为value的类名存在则删除,不存在则添加 // 代码如下:
// 获取节点
var $test = document.getElementById("test"); // 增加一个class
$test.classList.add("new-class"); // 删除一个class
$test.classList.remove("old-class"); // toggle(value)方法,如果存在value这个类名就删除,如果不存在则添加
$test.classList.toggle("old-class"); // contains(value)方法,判断value这个类名是否存在,存在返回true,不存在返回false
$test.classList.contains("old-class"); // 通过先删除old-class,然后添加new-class的方式,变相的实现替换class的目的
$test.classList.remove("old-class");
$test.classList.add("new-class");

结语:以上就是今天要分享的了。

最新文章

  1. mybatis问题is not known to the MapperRegistry
  2. C++类大小
  3. vim添加Vundle插件
  4. 使用Angular和Nodejs搭建聊天室
  5. uclibc,eglibc,glibc之间的区别和联系
  6. mybatis系列-06-输入映射
  7. win环境下mysql5.6.14的所有变量的默认值
  8. GDKOI2016
  9. 转载:vs2010 问题 &gt;LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  10. 用UltraISO制作CentOS U盘安装盘
  11. 记一次 bug 修复 , 未将对象引用实例化
  12. seo优化做起来不是哪么简单,其实需要的是思维
  13. 如何用Eclipse+maven创建servlet 3.0 web 项目
  14. [UE4]HorizontalBox,整体向右对齐
  15. SPIR-V*:面向 OpenCL™ 工作负载的英特尔&#174; 显卡编译器默认接口
  16. C#判断访问网站的设备类型
  17. sql 字符带下划线匹配问题
  18. linux内核学习之保护模式(一)
  19. 经典傅里叶算法小集合 附完整c代码
  20. ubuntu下让进程在后台运行

热门文章

  1. HDU 5919 Sequence II(主席树+区间不同数个数+区间第k小)
  2. data:image/png;base64 上传图像将图片转换成base64格式
  3. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) E. Cards Sorting 树状数组
  4. 一般删除网页数据和jquery下使用Ajax删除数据的区别
  5. Ubuntu16 源码方式安装postgresql数据库
  6. kotlin - 空安全
  7. 力扣(LeetCode)67. 二进制求和
  8. DAY2 初识python
  9. 修改记录-优化后(springboot+shiro+session+redis+ngnix共享)
  10. Java HashMap 遍历、删除、排序