给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\08\05
内容关于:工作中用到的小技术
本文来源于网络,只做技术分享,一概不负任何责任
分类:
工作中用到的小技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」