K
K.Beutler
Guest
Hallo,
wie allgmein bekannt existiert genau genommen noch keine Funktion "getElementsByClassName", bzw. manche Browser unterstützen diese Methode, andere nicht.. für meine Zwecke (ich benutze ein IE-ActiveX-Control für mein Programm) funktioniert es auf jeden Fall nicht.
Deshalb wollte ich mir diese Funktion selbst zusammenbasteln:
Wenn ich diese Funktion nun aufrufe, funktionert auch alles bestens:
Wenn ich nun jedoch versuche, auf die "style"-Eigenschaft dieses Elements zuzugreifen (contents[0].style), kommt eine Fehlermeldung nach dem Motto: "Die Eigenschaft "style" eines undefinierten oder Nullverweises kann nicht abgerufen werden"
Ich habe versucht, in der Funktion direkt per tag_matches[ i].style auf die Elemente zuzugreifen --> da kommt keine Fehlermeldung!! Aber sobald ich die Objekte per push() in das neue Array stecke, kann ich nicht mehr auf diese zugreifen (elements[ i].style --> Fehlermeldung!!)...
Kann mir da einer weiterhelfen?
lg
wie allgmein bekannt existiert genau genommen noch keine Funktion "getElementsByClassName", bzw. manche Browser unterstützen diese Methode, andere nicht.. für meine Zwecke (ich benutze ein IE-ActiveX-Control für mein Programm) funktioniert es auf jeden Fall nicht.
Deshalb wollte ich mir diese Funktion selbst zusammenbasteln:
Code:
function getElementsByClass(p_tag, p_class)
{
if(p_tag && p_class)
{
var elements = new Array();
var tag_matches = document.getElementsByTagName(p_tag);
for(var i = 0; i < tag_matches.length; i++)
{
if(tag_matches[i].className == p_class)
elements.push(tag_matches[i]);
}
}
return (elements.length > 0) ? elements : false;
}
Wenn ich diese Funktion nun aufrufe, funktionert auch alles bestens:
Code:
var contents = getElementsByClass("p", "eine_klasse");
alert(contents[0].className);
Ich habe versucht, in der Funktion direkt per tag_matches[ i].style auf die Elemente zuzugreifen --> da kommt keine Fehlermeldung!! Aber sobald ich die Objekte per push() in das neue Array stecke, kann ich nicht mehr auf diese zugreifen (elements[ i].style --> Fehlermeldung!!)...
Kann mir da einer weiterhelfen?
lg