[JavaScript] document.getElementById(id).style.display == 'none'

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] document.getElementById(id).style.display == 'none'

    Hi, der Internet Explorer 6 scheint
    Code:
    document.getElementById(id).style.display == 'none'
    nicht zu kennen.
    Wenn ich alert(document.getElementById(id).style.display) beim Firefox ausführe, dann bekomme ich 'none' zurückgeliefert. Wenn es jedoch beim IE mache, bekomme ich einen leeren String angezeigt.
    Wie kann ich auf den display style beim IE zugreifen?
    Hab schon im Internet gesucht und dort stand das es so gehen müsse.
    Vielen Dank im Vorraus
    Dulla_Po

  • #2
    du meinst sicher das
    PHP-Code:
    document.getElementById(id).style.display 'none' 
    informier dich mal über den unterschied zwischen zuweisungs- und vergleichsoperator

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ich rate mal, dass er schon == meinte und prüfen möchte, ob ein object display: none gesetzt hat. Falls dem so ist mal die Frage:

      Wird das display Attribut initial über eine Sytlesheet Klasse oder direkt über das style tag definiert? Setz es doch mal wie von Kropff beschrieben auf 'none' und schau dann nochmal. Es muss glaube ich für den IE explizit gesetzt werden. Ansonsten halt so ne ähnliche Abfrage wie

      var styleDispl = document.getElementById(id).style.display ? document.getElementById(id).style.display : 'none';

      Kommentar


      • #4
        Huch, den code habe ich etwas missverständlich rauskopiert. Ich vergleiche zuerst ob es auf none gesetzt ist, damit ich es, falls es nicht none gesetzt ist, auf none setzen kann. Das war aus der if Abfrage.

        Das Attribut wird direkt über das style tag in HTML beschrieben.
        Deine Abfrage liefert mir im IE none zurück.
        Kann aber nicht nachvollziehen, warum er bei dieser Abfrage none anzeigt, bei meinem Stringvergleich jedoch nicht
        Bei wenn die Variable mit deiner Abfrage fülle und sie später vergleiche erscheint trotzdem immernoch nix

        Der IE hat allgemein seine Probleme ein auf display:none gesetztes Element wieder sichtbar zu machen. Ich bekomme meinen scriptaculous Effect.Appear garnicht zum laufen obwohl ich es in einem anderen Projekt geschafft hatte. Seh aber keinem Unterschied zwischen dem Quelltext dort und meinem.
        Zuletzt geändert von Dulla_Po; 11.12.2007, 19:57.

        Kommentar


        • #5
          Die Zeile Script von mir war nur so ein Denkanstoss. Dass die "none" zurückliefert, wenn das Attribut leer ist, ist schon klar.

          Hab kurz bei mir im IE6.0 das Problem getestet und lief ohne Probleme:

          PHP-Code:
          <html>
           <
          head>
            <
          script type="text/javascript">
            
            function 
          testIt() {
             var 
          elStyle document.getElementById("testdiv").style;
             
          elStyle.display = (elStyle.display == "none") ? "block" "none";
            }
            
            </
          script>
           </
          head>

           <
          body onload="alert('Initialwert = '+document.getElementById('testdiv').style.display)">
            <
          input type="submit" onclick="testIt()" value="toggle">
            <
          div id="testdiv" style="border:1px solid black;width:100px;height:100px;display:none;"></div>
           </
          body>
          </
          html
          zeigt der IE denn Fehler an?

          Kommentar


          • #6
            Nein, zeigt keine Fehler an.
            Mit
            Code:
            document.getElementByTagName('div')[6].style.display
            geht es. Dieser blöde IE.
            Ich werd es wahrscheinlich so lösen das im IE mein div schon angezeigt wird und nur im Firefox alles schön zu betrachten ist, denn jetzt hab ich auch noch mit meinem Effect.Appear beim IE Probleme bekommen, die ich nicht nachvollziehen kann.
            Aber vielen Dank für die Hilfe und Mühe!!!!

            Kommentar

            Lädt...
            X