HTMLElement.getElementByClassName(), Firefox Chrome, , , - ( ):
getElmByClass(clm, parent){
if(typeof clm == "string"){ clm = [clm] }
var i, m = [], bcl, re, rm;
if (document.evaluate) {
v = "";
for(i=0; i < clm.length; i++){
v += "[contains(concat(' ', @"+clc+", ' '), ' " + base[i] + " ')]";
}
c = document.evaluate("./"+"/"+"*" + v, parent, null, 5, null);
while ((node = c.iterateNext())) {
m.push(node);
}
}else{
v = elm.getElementsByTagName('*');
bcl = "";
for(i=0; i < clm.length; i++){
bcl += (i)? "|":"";
bcl += "\\b"+clm[i]+"\\b";
}
re = new RegExp(bcl, "gi");
for(i = 0; i < v.length; i++){
if(v.className){
rm = v[i].className.match(bcl);
if(rm && rm.length){
m.push(v[i])
}
}
}
}
return m;
}
, XPATH, RegExp (, .indexOf, ),