Javascript-Funktion funktioniert und in IE

Hi,

ich habe folgende Javascript-Funktion geschrieben. Leider funktioniert sie nur beim InternetExplorer.

Was muss ich ändern, damit sie auch bei FireFox, Opera, Netscape usw. läuft?



Code:
function member_show(id) {
            if (document.getElementById(id).style.getAttribute("display",false) == "none") {
                document.getElementById(id).style.setAttribute("display", "inline", false);
        }
        else {
                document.getElementById(id).style.setAttribute("display", "none", false);
        }
    }
Soll im Prinzip nur einen <div>-Bereich ein- und ausblenden.
 
Hallo Roman

Code:
function showhide(id) {
    var mehrInfo=document.getElementById(id);
    if (mehrInfo!=null) mehrInfo.style.display = (mehrInfo.style.display=='none') ? "block" :"none";
}


Gruss Peter
 
Hi,

Die Lösung hat ja Peter schon gepostet :)

Zur Begründung, warum es im IE funktioniert, und woanders nicht:

die DOM-Methoden getAttribute()/setAttribute() sind nur auf HTML-Elemente anwendbar(was "style") in diesem Fall nicht ist.

Der IE hat aber zusätzlich zum DOM noch sein eigenes DHTML-Modell.
Auch dort gibt es diese beiden Methoden, und in diesem IE-Modell sind diese Methoden auch auf das style-Objekt von HTML-Elementen anwendbar.
 

Neue Beiträge

Zurück