Andreas: Div-Bereich borderwidth abfragen mit CLASS

Hallo, ich möchte gerne die Rahmendicke von einen Div-Bereich abfragen:

<div id='layer' style='border:51px solid #840;'>
alert(document.getElementById('layer').style.borderRightWidth);

Das klappt so weit auch ganz gut, aber wenn ich die Style-Eigenschaften über eine Klasse übergebe:

<div class='test' style='border:51px solid #840;'>
alert(document.getElementById('layer').style.borderRightWidth);

wird der Rahmen richtig gezeichnet, aber ausgegeben wird gar nichts, also noch nicht mal 0!?

Kann jemand Helfen? Danke im Voraus.

  1. Hallo, ich möchte gerne die Rahmendicke von einen Div-Bereich abfragen:

    <div id='layer' style='border:51px solid #840;'>
    alert(document.getElementById('layer').style.borderRightWidth);

    Das klappt so weit auch ganz gut, aber wenn ich die Style-Eigenschaften über eine Klasse übergebe:

    <div class='test' style='border:51px solid #840;'>
    alert(document.getElementById('layer').style.borderRightWidth);

    wird der Rahmen richtig gezeichnet, aber ausgegeben wird gar nichts

    Rofl. Dein Problem hat überhaupt nichts damit zu tun, wie du die styles bestimmst, die legst du ja sowieso über style="..." fest. Dein Problem ist viel eher, dass das div im letzteren Fall nicht mehr die id="layer" hat und somit getElementbyId('layer') kein Element findet.

    1. hi,

      Rofl. Dein Problem hat überhaupt nichts damit zu tun, wie du die styles bestimmst,

      Doch, auch.

      die legst du ja sowieso über style="..." fest.

      Nee, macht er im zweiten Beispiel ja nicht mehr.
      Und deshalb lassen sie sich, auch wenn der Zugriff auf das Element korrekt erfolgen würde, nicht mehr über {element}.style auslesen.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Nee, macht er im zweiten Beispiel ja nicht mehr.
        Und deshalb lassen sie sich, auch wenn der Zugriff auf das Element korrekt erfolgen würde, nicht mehr über {element}.style auslesen.

        <div class='test' style='border:51px solid #840;'>

        Also, ich sehe da ein style-Attribut...

        1. hi,

          Also, ich sehe da ein style-Attribut...

          Stimmt, Missverständis.

          Ich war davon ausgegangen, dass die Styles nur über die Klasse dem Element "zugewiesen" werden sollten, und dann geht das Auslesen über das style-Objekt nicht.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo,


    Das klappt so weit auch ganz gut, aber wenn ich die Style-Eigenschaften über eine Klasse übergebe:

    <div class='test' style='border:51px solid #840;'>
    alert(document.getElementById('layer').style.borderRightWidth);

    wird der Rahmen richtig gezeichnet, aber ausgegeben wird gar nichts, also noch nicht mal 0!?

    Du versuchst hier über document.getElementById auf das Element zuzugreifen. Da diese aber nicht vorhanden ist, kann es nicht funktionieren.
    Du könntest hier entweder per getElementsByTagName zugreifen, oder schreibst dir eine getElementsByClassName-Funktion.

    Allerdings habe ich meine Zweifel, dass man über das style-Objekt die Einzel-Werte einer zusammengefassten Eigenschaft auslesen kann. Bist du dir sicher, dass das in allen Browsern funktioniert? Normalerweise braucht man hier getComputedStyle oder so…

    mfg. Daniel