Donnerstag, 7. Januar 2010

getElementsByClassName

Es gibt zwar getElementById, getElementsByName und getElementsByTagName aber ein getElementsByClassName wäre manchmal auch nicht schlecht.

Herr Dr. Thomas Meinike hat sich die Mühe gemacht und eine entsprechende Funktion nachgebildet. Das Beispiel dazu gibt es hier:
http://www.styleassistant.de/tips/beispiel100.htm. Die in diesem Beispiel verwendete Funktion sieht so aus

function getElementsByClassName(class_name)
{
var all_obj,ret_obj=new Array(),j=0,teststr;

if(document.all)all_obj=document.all;
else if(document.getElementsByTagName && !document.all)
all_obj=document.getElementsByTagName("*");

for(i=0;i
{
if(all_obj[i].className.indexOf(class_name)!=-1)
{
teststr=","+all_obj[i].className.split(" ").join(",")+",";
if(teststr.indexOf(","+class_name+",")!=-1)
{
ret_obj[j]=all_obj[i];
j++;
}
}
}
return ret_obj;
}

Keine Kommentare: