1. 程式人生 > 實用技巧 >給IE9及其以下等不支援classList屬性的瀏覽器,新增classList屬性

給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

內容關於:工作中用到的小技術

本文來源於網路,只做技術分享,一概不負任何責任