Enables support for the DOMTokenList interface in IE8-9, and fixes buggy implementations in newer browsers.
npm install domtokenlist component install Alhadis/DOMTokenList
What this does:
- Adds seamless, dynamically-updating support for token-lists in IE8-9
- Fixes inability to add/remove multiple tokens in IE10+ (#920755)
- Adds support for forced toggling if it's missing (#878564)
This polyfill works at feature-level, meaning it doesn't identify shortcomings based on browser vendor or version (though I'm hoping that's common sense to most developers these days).
- 2.27 KBs minified
- 1.21 KBs minified & gzipped
svg-fix.js before the main polyfill if you're working with SVG elements.
For modularity's sake, I've isolated all SVG-specific fixes to their own file.
Why should I use yours? Others work fine.
They might, but so far, every one I've encountered has issues working with both the
className attributes simultaneously.
For example, assume the following scenario:
<!DOCTYPE html> <html class="bar"> <script> var root = document.documentElement; var rootClasses = root.classList; console.log(rootClasses); // Outputs "bar", as expected root.className = "foo " + root.className; console.log(rootClasses); // Outputs "bar" instead of "foo" </script>
This is an edge case, but expecting developers to avoid the
.className attribute as well as direct references to token-lists (which might be done for brevity's sake) wasn't enough to satisfy me. I wanted a true, transparent, lightweight and dynamic polyfill for the interface I loved so much.