Bernhard Rodde: Elemente ansprechen mit gleicher ID?

Wie kann ich mehrere Layer gleichzeitig ansprechen und positionieren/sichtbar machen?

Hallo,
ich will Benutzer in einem Forum Gruppen bestimmter Beiträge ausblenden lassen. Solange jeder Beitrag eine eigene ID hat geht das wunderbar. Wenn man aber als ID den Gruppennamen einträgt, z.B. ID="TechnikLayer", ID="InfoLayer" usw. und 2 Layer die gleiche ID haben bekomme ich in IE 5.0 die Fehlermeldung, das das benannte Objekt nicht vorhanden ist. An meinen Code kann es nicht liegen, da es mit einmaligen ID's funktioniert.
Wie kann ich mehrere Layer gleichzeitig ansprechen und positionieren/sichtbar machen? Das "Class" Object habe ich nicht ansprechen können.

Vielen Dank im vorraus
Bernhard

  1. und 2 Layer die gleiche ID haben bekomme ich in IE 5.0 die Fehlermeldung, das das benannte Objekt nicht vorhanden ist. An meinen Code kann es nicht liegen, da es mit einmaligen ID's funktioniert.

    Quatsch, mehrmalige IDs kann es nicht geben, das ist explizit verboten. IDs muessenn _immer_ eindeutig sein, RTFM: http://www.w3.org/TR/REC-html40/sgml/dtd.html#Text

    1. Hallo lieber Björn!

      http://www.w3.org/TR/REC-html40/sgml/dtd.html#Text

      Der Link ist ok, ginge es aber ohne:
      RTFM:  ??
      das ist etwas hmmm..... news.groups-lastig?

      Schöne Grüße
      Thomas

      1. http://www.w3.org/TR/REC-html40/sgml/dtd.html#Text

        Der Link ist ok, ginge es aber ohne:
        RTFM:  ??
        das ist etwas hmmm..... news.groups-lastig?

        Das ist mir etwas hmmm..... egal. Wenn ich sehe, was einige regelmässige Forumsteilnehmer für einen Tonfall benutzen, wird mir manchmal recht unwohl zumute. Im Usenet sind wir freundlicher zueinander, als hier einige Neulinge angeblafft werden.

        Aber wo wir gerade über NNTP sprechen,
        Followup-To: poster

        1. Hallo Björn!

          Das ist mir etwas hmmm..... egal. Wenn ich sehe, was einige regelmässige Forumsteilnehmer für einen Tonfall benutzen, wird mir manchmal recht unwohl zumute. Im Usenet sind wir freundlicher zueinander, als hier einige Neulinge angeblafft werden.

          Wollen wir das Thema wieder aufwärmen?
          Ich glaube wir beide wissen, wie es in den NGs tatsächlich zugeht. Da sind hier die Leute recht harmlos dagegen. (z.B. nicName@emailNOSPAM.de und Co.)

          Aber es ist Weihnachten,
          und ich wünsche dir schöne Feiertage, Freude an deinen Geschenken und gutes Gelingen bei deinen Vorhaben.

          Grüße
          Thomas

  2. Hallo!

    Wie kann ich mehrere Layer gleichzeitig ansprechen und positionieren/sichtbar machen? Das "Class" Object habe ich nicht ansprechen können.

    Für IE kannst du es mit document.all.className=....  versuchen.
    (oder so z.B.: <H1 class="Blue" onmouseover="this.className='Red'"
        onmouseout="this.className='Blue'">

    oder beschäftige dich mit den Collections:
    http://msdn.microsoft.com/workshop/author/om/scripting_elements_collections.asp

    id ist immer einmalig, deshalb ist es ja id. Aber das hat schon Björn gesagt.

    Grüße
    Thomas

    1. Hallo!
      oder beschäftige dich mit den Collections:
      http://msdn.microsoft.com/workshop/author/om/scripting_elements_collections.asp

      ...das in jedem Falle
      und:
      der IE macht aus Elementen, welche die selbe ID haben automatisch eine Collection, also:

      <div id="multidiv">Hallo</div>
      <div id="multidiv">Welt</div>

      <script>
      colDivs = document.all("multidiv")
      colDivs(0).style.color="red";
      </script>
      Solange das "nur" im IE läuft, kein Problem, aber NS 4/5 sind da sicherlich nicht mit einverstanden ;-)

      Ungeachtet dessen sollten "natürlich" IDs gemäß HTML4+ eindeutig sein, sonst wären es ja auch keine mehr.

      Viel Spaß

      CirTap

  3. Vielen Dank für die Tipps mit IE.
    Hat noch jemand eine Idee, wie ich es mit Netscape hinkriegen könnte? Auch ein anderer Lösungsweg wäre mir recht.

    Tschaui
    Bernhard