Hallo Leute!
Ich hatte immer die schon sehr lange die eigene Funktion getElementsByClassName in Verwendung.
Aufruf: getElementsByClassName("classname",document.getEle mentsById("id"))
nun habe ich wo gelesen das man es ja auch so machen könnte:
document.getElementsByClassName = function(){ ...}
Aufruf: document.getElementsByClassName("classname")
somit könnte ich auch nicht mehr eine Node angeben bei der er loslegen soll.
Könnte man irgendwie etwas machen, dass man auch so etwas schreiben könnte:
Aufruf: document.getElementById("id").getElementsByClassNa me("classname")
Vielen Dank im Voraus!!!
Ich hatte immer die schon sehr lange die eigene Funktion getElementsByClassName in Verwendung.
Code:
function getElementsByClassName(class_name,object)
{
var all_obj,ret_obj=new Array(),j=0;
if(object)
{
all_obj=object.childNodes;
}
else
{
if(document.all)
all_obj=document.all;
else if(document.getElementsByTagName && !document.all)
all_obj=document.getElementsByTagName("*");
}
for(i=0;i<all_obj.length;i++)
{
classname=all_obj[i].className;
if(classname!=undefined)
{
if(classname.indexOf(" ")!=-1)
{
classname=classname.split(" ");
for(k=0;k<classname.length;k++)
{
if(classname[k]==class_name)
{
ret_obj[j]=all_obj[i];
j++;
}
}
}
else
{
if(classname==class_name)
{
ret_obj[j]=all_obj[i];
j++;
}
}
}
}
return ret_obj;
}
nun habe ich wo gelesen das man es ja auch so machen könnte:
document.getElementsByClassName = function(){ ...}
Aufruf: document.getElementsByClassName("classname")
somit könnte ich auch nicht mehr eine Node angeben bei der er loslegen soll.
Könnte man irgendwie etwas machen, dass man auch so etwas schreiben könnte:
Aufruf: document.getElementById("id").getElementsByClassNa me("classname")
Vielen Dank im Voraus!!!
