brockerdocker: mehrere Attribute mit einem Befehl ändern

Hallo,
ich brauche mal wieder eure Hilfe.
Und zwar habe ich mehrere Hyperlinks, die ich in einem bestimmten Fall gleichzeitig unsichtbar machen möchte.
Dies habe ich zuerst mit

document.getElementById("U2").style.visibility = "hidden";

versucht, wobei die Links natürlich die id="U2" hatten. Dummerweise wurde dadurch nur der 1. Link unsichtbar. Da ich nichts genaueres weiß vermute ich einfach, dass nachdem ein U2-Link unsichtbar gemacht wurde, aufgehört wurde nach weiteren unsichtbar zu machenden zu suchen. Natürlich könnte ich jetzt jedem Link eine andere id geben und die der Reihe nach Unsichtbar machen, aber ich denke es müsste doch eine einfachere und Ressourcen sparendere Möglichkeit geben (die ich nur nicht kenne ;-))

Ich habe es auch mal mit

document.getElementsByName("Link")[0].style.visibility = "hidden";

probiert, aber ich weiß nicht wie ich es schaffe, dass der anstatt nur 0 alle unsichtbar macht.

OK, vielen Dank schonmal für eure Antworten
brockerdocker

  1. Hallo brockerdocker,

    document.getElementsByName("Link")[0].style.visibility = "hidden";

    Mit einer Schleife zb (for kannst Du die einzelnen Links ansprechen. Über .length hast Du gleich einen möglichen Abbruch der Schleife.

    Mit freundlichem Gruß
    Micha

    1. Ah, stimmt!

      Vielen Dank!

  2. Hallo brockerdocker.

    Und zwar habe ich mehrere Hyperlinks, die ich in einem bestimmten Fall gleichzeitig unsichtbar machen möchte.
    Dies habe ich zuerst mit

    document.getElementById("U2").style.visibility = "hidden";

    versucht, wobei die Links natürlich die id="U2" hatten.

    Und hier ist der Fehler. Du weißt, was die besondere Eigenschaft einer ID ist? Genau, sie ist *absolut eindeutig* und niemals mehrfach vorhanden.

    Dummerweise wurde dadurch nur der 1. Link unsichtbar. Da ich nichts genaueres weiß vermute ich einfach, dass nachdem ein U2-Link unsichtbar gemacht wurde, aufgehört wurde nach weiteren unsichtbar zu machenden zu suchen.

    Nein. Das Element mit der ID „U2“ wurde ausgeblendet und da es keine weiteren Elemente mit dieser ID geben kann, beendet der Client das Script.

    Natürlich könnte ich jetzt jedem Link eine andere id geben und die der Reihe nach Unsichtbar machen, aber ich denke es müsste doch eine einfachere und Ressourcen sparendere Möglichkeit geben (die ich nur nicht kenne ;-))

    Diese Methode wäre eine, wie du dies umsetzen kannst, hat dir Micha bereits gepostet.

    Eine andere Möglichkeit wäre, die betreffenden Links mit einem anderen Element zu gruppieren und nicht die Links, sondern dieses gruppierende Element auszublenden. In Folge dessen verschwinden damit logischerweise auch die Links.

    document.getElementsByName("Link")[0].style.visibility = "hidden";

    Steht in den betreffenden Links überhaupt ein name="Link"?
    Und warum überhaupt visibility:hidden und nicht display:none?

    Einen schönen Samstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/
    1. Hallo!

      Zuerst mal danke für die Hilfe.

      Steht in den betreffenden Links überhaupt ein name="Link"?

      -Ja, es steht in den betreffenden Links ein name="Link".

      Und warum überhaupt visibility:hidden und nicht display:none?

      Das weiß ich auch nicht, warscheinlich, weil ich das bisher noch nicht benutzt hab ;)
      Wird geändert.

      Ach übrigens das mit dem Hochzählen/Schleife hab ich schon probiert, es klappt wunderbar. Das mit dem Gruppieren ist schon eher schwieriger, da die Links bunt verstreut sind...

      Einen schönen Samstag noch.

      Dir auch,
      brockerdocker