读书人

IE 十以前的版本兼容 document elemen

发布时间: 2013-09-09 20:31:09 作者: rapoo

IE 10以前的版本兼容 document element 的classList

本文讲述如何让 IE 10以前的版本兼容 document element 的classList。

classList是广泛使用的CSS类处理利器,可以:

if (!("classList" in document.documentElement)) {        Object.defineProperty(HTMLElement.prototype, 'classList', {            get: function() {                var self = this;                function update(fn) {                    return function(value) {                        var classes = self.className.split(/\s+/g),                            index = classes.indexOf(value);                                                fn(classes, index, value);                        self.className = classes.join(" ");                    }                }                                return {                                        add: update(function(classes, index, value) {                        if (!~index) classes.push(value);                    }),                                        remove: update(function(classes, index) {                        if (~index) classes.splice(index, 1);                    }),                                        toggle: update(function(classes, index, value) {                        if (~index)                            classes.splice(index, 1);                        else                            classes.push(value);                    }),                                        contains: function(value) {                        return !!~self.className.split(/\s+/g).indexOf(value);                    },                                        item: function(i) {                        return self.className.split(/\s+/g)[i] || null;                    }                };            }        });    }



读书人网 >其他相关

热点推荐