August 15th, 2007

getElementsByClassName unnecessary with Mootools

No more need for the bulky “getElementsByClassName” function. Mootools improved multiple-element filtering in v1.11: Before
function getElementsByClassName(className, tag, elm){
      var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
      var tag = tag || "*";
      var elm = elm || document;
      var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
      var returnElements = [];
      var current;
      var length = elements.length;
      for(var i=0; i<length; i++){
            current = elements[i];
            if(testClass.test(current.className)){
                  returnElements.push(current);
            }
      }
      return returnElements;
}
After
elems = $$('*').filterByClass('yourclassname');

Filed under Uncategorized

Leave a Reply