Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.
Ben Anggoro36,161 Points
I'm wondering has anyone had experience using classie.js by David DeSandro? I found it very handy. So handy and easy that it's kinda hard for me to believe of its 'bulletproof'-ness.
For example to make off-canvas or to hide/unhide etc. Codrops use it all the time as well.
Has anyone ever had experience problems with it? Such as with cross browser, etc.
Any advice or knowledge sharing is very much appreciated
First of all, I've never used classie.js, so I can't help you with any practical experience.
But I've looked at the code of the library and it seems sound.
The new way of manipulating element classes is element.classList. It's fairly well supported (80.33% of the currently used browsers), and it's really becoming the best way to manipulate classes. You have access to methods that add, remove, toggle and check for the existence of classes.
Classie.js covers both of these ways. It tests for the second, newer method and uses it if it's available. If not, it does it the old fashioned way, manipulating the
className string. It has all the checks you'd expect from such a library.
For instance, jQuery (based on the code in the master branch of their GitHub repo) still uses only the first (old) way of manipulating classes. Apart from some extra internal checks and ability to add several classes to an element at once, classie.js does what jQuery does.
When it comes to cross-browser compatibility, it should work in pretty much anything. Any problems that might arise would be a result of bad usage. I think you should feel pretty safe using it.
Ben Anggoro36,161 Points
Hi Dino! :)
Thanks for explaining all this. Happy to have someone explaining this because I really like classie. it just makes everything really simple. It's like the 'more mere-mortals-friendly way of doing it, I suppose. :)