yeah, jQuery promises are a bit closer than they used to be, but still not completely compliant.
the classlist code they use has a fallback for IE (regex for class removal, string concat for adding).
Or there's https://npmjs.org/package/class-list on npm that just exports a single ordinary function to expose classList operations on elements without modifying properties. There are individual modules for everything you can do in jquery and more on npm and many of them just do a single thing without stepping on each others toes.