Hi, this is looking good. I like the structure and clarity of your code.
Just looked at a couple of methods - do you mind a comment or two ?
if (className.indexOf(' ') !== 0) {
var arr = className.split(' '), i = 0;
for (i; i < arr.length; i++) {
i) perhaps no need to use strict equality since indexOf returns an int ?
ii) if the class is an empty string, the test will return -1 and you'll enter the loop - perhaps not intended ?
iii) var s = 'onlyoneword', a = s.split(' '); a is now an array with a single element - so perhaps no need for the indexOf test, but instead test string length ?