给IE9及其以下等不支持classList属性的浏览器,添加classList属性
时间:2022-07-26
本文章向大家介绍给IE9及其以下等不支持classList属性的浏览器,添加classList属性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 // 解决IE9及其以下 不支持classList属性的问题
2 if (!("classList" in document.documentElement)) {
3 Object.defineProperty(HTMLElement.prototype, 'classList', {
4 get: function() {
5 var self = this;
6 function update(fn) {
7 return function(value) {
8 var classes = self.className.split(/s+/g),
9 index = classes.indexOf(value);
10
11 fn(classes, index, value);
12 self.className = classes.join(" ");
13 }
14 }
15
16 return {
17 add: update(function(classes, index, value) {
18 if (!~index) classes.push(value);
19 }),
20
21 remove: update(function(classes, index) {
22 if (~index) classes.splice(index, 1);
23 }),
24
25 toggle: update(function(classes, index, value) {
26 if (~index)
27 classes.splice(index, 1);
28 else
29 classes.push(value);
30 }),
31
32 contains: function(value) {
33 return !!~self.className.split(/s+/g).indexOf(value);
34 },
35
36 item: function(i) {
37 return self.className.split(/s+/g)[i] || null;
38 }
39 };
40 }
41 });
42 }
作者:彼岸舞
时间:2020 8 5
内容关于:工作中用到的小技术
本文来源于网络,只做技术分享,一概不负任何责任
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Saltstack_使用指南08_远程执行-返回程序
- 人生苦短,何不用vim装13
- Saltstack_使用指南09_远程执行-编写执行模块
- 如何安装FreeIPA
- 编译及使用hive-testbench生成Hive基准测试数据
- 树酱的前端知识体系构建(下)
- Babel配置傻傻看不懂?
- Saltstack_使用指南10_配置管理-状态模块
- Saltstack_使用指南11_配置管理-状态之间依赖关系 4.1. 部署架构4.2. Apache和PHP的SLS【正向依赖】4.3. mariadb 的 SLS
- 前端工程化之CICD那点破事
- Saltstack_使用指南12_配置管理-jinja模板 4.1. 部署架构4.2. 本章涉及的 pillar 的信息4.3. 配置文件 httpd.conf 修改
- Saltstack_使用指南13_runner的job和manage与execution的saltutil 5.1. master执行5.2. 查看当前活动的jobs
- Saltstack_使用指南14_无master 3.1. 常规信息3.2. grains设置3.3. pillar设置
- 在CDH7.1.1中安装NiFi
- 重学前端(三)-聊聊我们的浏览器的那些事