Bürgle: "Body-Style"...kein Zugriff mit Mozilla/NS?

Hi!

Damit:

getElementById("bodyid").style....="....";

bin ich im IE in der Lage, im gesamten Document z.B. die Textfarbe zu ändern, und erspare mir somit eine Schleife, in der ich die gesamte Hierarchie im Document durchgehen muss.

Leider funktioniert mein obiges Konstrukt in Mozilla/NS7 nicht, was könnte ich tun/ändern?

Grüße, Bürgle
http://www.benotung.de

--

IE - No risk, no fun.
  1. Hallo Bürgle,

    bin ich im IE in der Lage, im gesamten Document z.B. die Textfarbe zu ändern, und erspare mir somit eine Schleife, in der ich die gesamte Hierarchie im Document durchgehen muss.

    Leider funktioniert mein obiges Konstrukt in Mozilla/NS7 nicht, was könnte ich tun/ändern?

    Hast Du es schon mal mit document.getElementsByTagName("body")[0].style probiert?

    Grüße,

    Christian

    --
    Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                          -- Albert Einstein
    1. Hi!

      Hast Du es schon mal mit document.getElementsByTagName("body")[0].style probiert?

      Jetzt ja:

      document.getElementsByTagName("body")[0].style.color="red";
        alert(document.getElementsByTagName("body")[0].style.color);

      Mach ich bei der Zuweisung was falsch?
      Ich möchte den Text umfärben... .
      Er übernimmt das rot zwar laut alert, aber er zeigt es eben nicht an.
      Meiner Meinung nach sollte er "rot" aber für den gesamten Text im Document übernehmen, oder?

      Grüße, Bürgle
      http://www.benotung.de

      --

      IE - No risk, no fun.
  2. hi

    getElementById("bodyid").style....="....";
    Leider funktioniert mein obiges Konstrukt in Mozilla/NS7 nicht, was könnte ich tun/ändern?

    document. davorschreiben?
    Sonst gab' es da doch afaik auch mal document.body...

    Grüße aus Bleckede

    Kai

    1. Hi!

      document. davorschreiben?

      Sorry...hab ich davor nur hier weggelassen, es geht nicht, egal ob mit oder ohne.
      Aber wahrscheinlich mach ich ein anderen Fehler bei der Zuweisung?
      Ich mach nun folgendes:

      document.getElementsByTagName("body")[0].style.color="red";
        alert(document.getElementsByTagName("body")[0].style.color);

      Das sollte doch den Text umfärben, oder?

      Grüße, Bürgle
      http://www.benotung.de

      --

      IE - No risk, no fun.
  3. Hi!

    Damit:

    getElementById("bodyid").style....="....";

    bin ich im IE in der Lage, im gesamten Document z.B. die Textfarbe zu ändern, und erspare mir somit eine Schleife, in der ich die gesamte Hierarchie im Document durchgehen muss.

    Leider funktioniert mein obiges Konstrukt in Mozilla/NS7 nicht, was könnte ich tun/ändern?

    Browser neu installieren? Folgendes geht bei mir mit MSIE5.5, NS7.0 und sogar Opera 6.05.

    <html>
    <head>
    <title></title>
    </head>
    <body id="mybody">
    <h1>Test</h1>
    <p>Hallo</p>
    <input type="button" name="" value="Mach rot" onclick="document.getElementById('mybody').style.color='#FF0000';">
    </body>
    </html>

    Gruß

    Axel

    1. Hi!

      Browser neu installieren? Folgendes geht bei mir mit MSIE5.5, NS7.0 und sogar Opera 6.05.

      Und damit:

      <html>
      <head>
      <title></title>
      </head>
      <body id="mybody">
      <table>
       <tr>
         <td>
           Test
         </td>
       </tr>
      </table>
      <input type="button" name="" value="Mach rot" onclick="document.getElementById('mybody').style.color='#FF0000';">
      </body>
      </html>

      ?
      Grüße, Bürgle
      http://www.benotung.de

      --

      IE - No risk, no fun.
      1. Hi!

        <table>
         <tr>
           <td>
             Test
           </td>
         </tr>
        </table>

        Eine Tabelle richtet sich, nach meiner Erfahrung, nie nach den CSS-Styles des Body. Hier muss table und td _immer_ explizit angegeben werden. Keine Ahnung, ob das irgendwo festgelegt ist. Da Du ja ohnehin schon auf JavaScript setzt, könnte folgender Ansatz helfen:
        <html>
        <head>
        <title></title>
        <script type="text/javascript">
        <!--
        function machrot() {
          var mybodyelements=document.getElementById('mybody').childNodes;
          for (var i=0; i<mybodyelements.length; i++) {
             if (mybodyelements[i].style)
             mybodyelements[i].style.color="#FF0000";
          }
        }
        //-->
        </script>
        <noscript></noscript>
        </head>
        <body id="mybody">
        <table>
          <tr>
            <td>Test</td>
          </tr>
        </table>
        <input type="button" name="" value="Mach rot" onclick="machrot();">
        </body>
        </html>

        Gruß

        Axel

        1. Hi!

          Hi!

          <table>
           <tr>
             <td>
               Test
             </td>
           </tr>
          </table>
          Eine Tabelle richtet sich, nach meiner Erfahrung, nie nach den CSS-Styles des Body. Hier muss table und td _immer_ explizit angegeben werden.

          Sehe ich auch so, ist aber von der Logik sehr absurd, dass sich eine Farbangabe im Body auf alles auswirkt, aber beim dynamischen Ändern  sich diese eben nicht mehr auf alles auswirkt!

          Da Du ja ohnehin schon auf JavaScript setzt, könnte folgender Ansatz helfen:
          Wie oben gesagt, wollte ich keine Schleife in der Art, aber vermutlich geht es nicht anders.
          Grüße, Bürgle
          http://www.benotung.de

          --

          IE - No risk, no fun.
  4. Hi!

    Hast du anderen Elementen unterhalb von body eine eigene Farbe spendiert?

    Gruß Herbalizer