How to get html element's class tags

Viewed 56480

I'm using a custom modernizer config which has selected the features I employ in my page (and only those features).

So, I'd like to simply grab the className of the <html> of the page so I can check to see how many no- prefixed classes are present (maybe checking classlist.match(/no-/g).length) and determine if my javascript should just give up.

It's not clear whether I should use

document.getElementsByTagName('html').className

or

$('html').attr('class')

or

document.documentElement.className
5 Answers
 var allClasses = [];
 var allElements = document.querySelectorAll('*');

 for (var i = 0; i < allElements.length; i++) {
     if (allElements[i].hasAttribute("class")) {
        var classes = allElements[i].className.toString().split(/\s+/);
        for (var j = 0; j < classes.length; j++) {
             var cls = classes[j];
             if (cls && allClasses.indexOf(cls) === -1)
                allClasses.push(cls);
        }
     }
 }

 console.log(allClasses);
Related