Martin k: div sichtbar/unsichtbar machen

Hallo wer kann mir helfen?

ich habe 2 divs:

<div style="display:none">
 UNSICHTBAR
  </div>

<div style="display:none">
 UNSICHTBAR2
  </div>

und will in einer javascript funktion den sichtbarkeits status änder:

document.getElementsByTagName("div")[1].style.display = "inline";

document.getElementsByTagName("div")[2].style.display = "inline";

Bekomme aber immer eine Fehlermeldung:
"document.getElementsByTagName(...)2 ist null oder kein objekt"

kann mir jemand helfen?

danke

  1. Warum machst du es nicht so?

    [code="HTML"]
    <div style="display:none" id="box1">
    UNSICHTBAR
    </div>

    <div style="display:none" id="box2">
    UNSICHTBAR2
    </div>

    document.getElementById("box1").style.display = "inline";

    document.getElementById("box2").style.display = "inline";
    [/code]

    Gruss, Benni

    1. Hallo,

      <div style="display:none" id="box1">
      UNSICHTBAR
      </div>
      <div style="display:none" id="box2">
      UNSICHTBAR2
      </div>

      
      > ~~~javascript
        
      
      > document.getElementById("box1").style.display = "inline";  
      > document.getElementById("box2").style.display = "inline";  
      > 
      
      

      Würde ich persönlich nicht nutzen. Denn es gibt auch in AJAX- und Web 2.0-Zeiten Benutzer, die Javascript abgeschaltet haben.
      Also lieber:

      function load {  
        var divs = document.getElementsByTagName("div");  
        divs[0].style.display = 'none';  
        divs[1].style.display = 'none';  
      }  
      function show {  
        var divs = document.getElementsByTagName("div");  
        divs[0].style.display = 'block';  
        divs[1].style.display = 'block';  
      }
      

      <body onload="load">....</body>
      ... und in den divs dann kein 'style="display:none"'

      Grüße,
      Willi

  2. Hallo Martin.

    ich habe 2 divs:

    <div style="display:none">
    UNSICHTBAR
      </div>

    <div style="display:none">
    UNSICHTBAR2
      </div>

    und will in einer javascript funktion den sichtbarkeits status änder:

    document.getElementsByTagName("div")[1].style.display = "inline";

    document.getElementsByTagName("div")[2].style.display = "inline";

    Bekomme aber immer eine Fehlermeldung:
    "document.getElementsByTagName(...)2 ist null oder kein objekt"

    ^?

    Beseitige entweder den Tippfehler in deinem Code oder greife auf die Elemente erst dann zu, wenn sie auch tatsächlich zur Verfügung stehen:

    // Platziert in einem script-Element im head-Element oder einer externen JS-Datei  
    window.onload = function() {  
      
      // Dein Code  
    };
    

    Einen schönen Montag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  3. Lieber Martin,

    ich habe 2 divs:
    document.getElementsByTagName("div")[1].style.display = "inline";
    document.getElementsByTagName("div")[2].style.display = "inline";

    Bekomme aber immer eine Fehlermeldung:
    "document.getElementsByTagName(...)2 ist null oder kein objekt"

    Programmiersprachen fangen immer bei Null zu zählen an!
    Deinen Code würde ich auch dahingehend abändern, dass ich getElementsByTagName nur einmal ausführen lasse und das Ergebnis in einer Variablen festhalte. So ist es performanter:

    var divs = document.getElementsByTagName("div");  
    divs[0].style.display = "wasImmerDuWillst";  
    divs[1].style.display = "wasImmerDuWillst";
    

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hi Felix,

      Programmiersprachen fangen immer bei Null zu zählen an!

      sicher? Fängt Pascal nicht bei 1 an? *grübel*

      Ciao, Fanny

      1. Hallo,

        Programmiersprachen fangen immer bei Null zu zählen an!
        sicher? Fängt Pascal nicht bei 1 an? *grübel*

        nicht dass ich wüsste ...
        An welches Detail in Pascal dachtest du dabei? Soweit ich mich erinnern kann (hab schon seit Jahren nix mehr in Pascal geschrieben), ist Pascal hier neutral, denn du definierst als Programmierer *selbst* den Wertebereich eines Array-Indexes, etwa in der Art:

        var buffer: array [0..1023] of byte;

        Es kommt hier also drauf an, mit welcher Vorgeschichte du an die Sache rangehst. Hast du bereits Erfahrung mit anderen Programmiersprachen gesammelt, dann wirst du an der Stelle quasi intuitiv den Arrayindex mit 0 beginnen lassen.
        Übrigens werden sogar Strings, die in Pascal nichts anderes als array of char sind, ab 0 beginnend indiziert. Zwar ist das erste Zeichen des Strings in s[1], aber s[0] enthält die tatsächliche Länge des Strings.

        So long,
         Martin

        --
        Gott hilft niemandem, er erfreut sich nur an unseren Leiden.
          (Ashura)