reiner pens: innerHTML

Hallo, ich habe mal wieder ein Problem mit dem Werkzeug des Teufels (dem IE) ich versuche folgendes:

document.getElementsByTagName('style')[0].innerHTML = 'meintest';

Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

mfg reiner pens

  1. document.getElementsByTagName('style')[0].innerHTML = 'meintest';

    Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

    Das das im FF klappt ist erstaunlich. ein Style Element enthält kein HTML Code, folglich sollte mM. innerHTML auch nicht funktionieren (wie auch beim script Element).

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. wuerde es denn gehen wenn ich im <head> einen innerHTML = "<style>meintest</style>" mache ?

      document.getElementsByTagName('style')[0].innerHTML = 'meintest';

      Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

      Das das im FF klappt ist erstaunlich. ein Style Element enthält kein HTML Code, folglich sollte mM. innerHTML auch nicht funktionieren (wie auch beim script Element).

      Struppi.

      1. Hm, das ist dann natuerlich genau quatsch. Aber mit dem addStyle bekomm ich das auch nicht hin. Leider finde ich kein richtige Dokumentation mit Beispielen dazu. Denn so wie ich das bislang ueberall gelesen habe, klappt das nicht:

        onclick="addStyle('body { color: red; background-color: yellow; }');

        ==>
        Fehler: addStyle is not defined

        mfg reiner

        wuerde es denn gehen wenn ich im <head> einen innerHTML = "<style>meintest</style>" mache ?

        document.getElementsByTagName('style')[0].innerHTML = 'meintest';

        Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

        Das das im FF klappt ist erstaunlich. ein Style Element enthält kein HTML Code, folglich sollte mM. innerHTML auch nicht funktionieren (wie auch beim script Element).

        Struppi.

        1. hi,

          onclick="addStyle('body { color: red; background-color: yellow; }');

          Wenn das alles ist, was du erreichen willst - das kannst du auch über die zwei Anweisungen
          document.body.style.color = 'red';
          document.body.style.backgroundColor = 'yellow';
          erreichen.

          Oder auch, in dem du dem body einfach eine andere Klasse zuweist, für die schon die entsprechenden Formatierungen im CSS hinterlegt sind.

          gruß,
          wahsaga

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

          Fehler: addStyle is not defined

          Na ja, Du mußt schon das Listing von der verlinkten Seite einbinden. =;-)

          *Das* enthält addStyle()!

          Oder Du schaust dir die addStyle()-Funktion an, und bastelst dir selbst was ...

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        3. Hi,

          Leider finde ich kein richtige Dokumentation mit Beispielen dazu.

          BTW: Die steht, wie auf der verlinkten Seite auch so ziemlich als einziges stand ;-), in eben herunterzuladenden Listing selbst las Kommentar. :-)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        4. Hm, das ist dann natuerlich genau quatsch. Aber mit dem addStyle bekomm ich das auch nicht hin. Leider finde ich kein richtige Dokumentation mit Beispielen dazu. Denn so wie ich das bislang ueberall gelesen habe, klappt das nicht:

          onclick="addStyle('body { color: red; background-color: yellow; }');

          Was ist denn addStyle()?
          Du musst diese funktion auch einbinden/schreiben.

          So wie ich das sehe suchst du etwas ähnliches wie https://forum.selfhtml.org/?t=135179&m=877315

          und auch für dich TOFU liest ist nicht schön.

          Struppi.

          --
          Javascript ist toll (Perl auch!)
    2. Hi,

      folglich sollte mM. innerHTML auch nicht funktionieren

      Zumindest das Lesen klappt in jedem gängigen Browser (Moz, IE, Opera, Safari, Konqueror). Und man kann, mit Ausnahme des IEs, auch mit createTextNode() neue Regeln hinzufügen.

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. Hi,

    Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

    Weil MS das so möchte. ;-)

    Um Styles zu setzen kennt der IE addRule() - der Rest der Welt insertRule().

    Coding: CSS-Stylesheets & -Regeln ergänzen

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. hi,

    document.getElementsByTagName('style')[0].innerHTML = 'meintest';

    Das klappt im FireFox auch wunderbar, bringt allerdings im IE einen JavaScript-Fehler "unbekannter Laufzeitfehler", mir ist nur nicht ganz klar, warum?

    Darum, zum x-ten Mal:
    innerHTML - "The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR."

    gruß,
    wahsaga

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