Jan Lehnardt: wie zum teufel...?

...kann ich mein problem lösen?

also:
ich lerne gerade JavaScript, und schreibe zu diesem zweck ein paar test scripts.
in einem moechte ich auf klick auf einen link die farbe der ueberschrift zweiter ordnung aendern
mit msie klappts wunderbar per document.all.headline.classname
nur wie kann ich das auch in netscape verwirklichen?
mit
document.write("<h2 align=center class="spezial">Überschrift</h2>
klappts nicht, weil ns die " bei class="spezial" nicht schluckt.wenn ich sie weg lasse, beachtet er die angabe garnicht!

wie kann ich also mit netscape die class-id aendern

tschö

jan

  1. ...kann ich mein problem lösen?

    also:
    ich lerne gerade JavaScript, und schreibe zu diesem zweck ein paar test scripts.
    in einem moechte ich auf klick auf einen link die farbe der ueberschrift zweiter ordnung aendern
    mit msie klappts wunderbar per document.all.headline.classname
    nur wie kann ich das auch in netscape verwirklichen?
    mit
    document.write("<h2 align=center class="spezial">Überschrift</h2>
    klappts nicht, weil ns die " bei class="spezial" nicht schluckt.wenn ich sie weg lasse, beachtet er die angabe garnicht!

    Wenn ich dein Problem richtig verstehe, schaffst du es nicht, dynamisch Anführungszeichen zu schreiben. In diesem Fall, musst du einfach verwenden:

    document.write("<h2 align=center class='spezial'>Überschrift</h2>");

    dann sollte es funktionieren.

    Gruß
      Stefan

    1. mit
      document.write("<h2 align=center class="spezial">Überschrift</h2>
      klappts nicht, weil ns die " bei class="spezial" nicht schluckt.wenn ich sie weg lasse, beachtet er die angabe garnicht!

      Wenn ich dein Problem richtig verstehe, schaffst du es nicht, dynamisch Anführungszeichen zu schreiben. In diesem Fall, musst du einfach verwenden:

      document.write("<h2 align=center class='spezial'>Überschrift</h2>");

      dann sollte es funktionieren.

      ..tut es aber leider nicht...
      es wäre auch besser, wenn ich die class-id dierekt ansprechen könnte...so wie es mit
      document.all.headlin.className
      geht.
      das so nicht mit ns geht, ist schon klar, aber soweit ich das prinzip verstehe, schreibt netscape mit document.write in eine neue seite, wo ich mich nicht auf die im head von der script datei notierten css angaben beziehen kann. mit msie klappt es aber...es ist doch so oder so ähnlich?

      tschö

      jan

  2. Hallo Jan,

    in einem moechte ich auf klick auf einen link die farbe der ueberschrift zweiter ordnung aendern

    Damit bist Du eigentlich schon mittendrin in dem, was man "Dynamic HTML" nennt. Und genauso mittendrin in dem kleinen (grossen?) Unterschied zwischen MSIE und Netscape: beim MSIE gibt es eine echte Umsetzung des Objektmodells, das heisst, alle vorhandenen HTML-Elemente einer WWW-Seite sind dynamisch ansprechbar und veraenderbar. Bei Netscape gibt es so etwas nicht. Dort ist die einzige Moeglichkeit, irgendwas auf einer Seite dynamisch zu aendern (ausser den klassischen Elementen wie Formularelemente oder Grafiken), mit Layern zu arbeiten. Also:
    <layer name="Heading">
    <h2>.....</h2>
    </layer>
    Dann kannst Du mit JavaScript und dem layer-Objekt so was machen:
    document.Heading.document.clear();
    document.Heading.document.open();
    document.Heading.document.write("<h2>...neu...</h2>");
    Aber Du brauchst nicht glauben, dass Netscape so schlau ist, im Fall, dass sich der Raum aendert, den der Inhalt beansprucht, die ganze Web-Seite neu aufzubauen. Nix dergleichen.

    viele Gruesse
      Stefan Muenz

    1. hi,

      danke für eure  (deine)  hilfe. ich lerne, wie schonmal gesagt, nun grade JavaScript, den html hab ich schon drauf (dank an SelfHTML:-), nun will ich halt auch in die königsklasse des DHTML aufsteigen und tue fast alles dafür, wenn ihr also ein paar tips habt wäre das nett, besonders was die unterschiedliche interpretation zu msie und ns betrifft, denn meine (zukünftigen) seiten sollte für beide browser zu mindestens 80% gleich sein, und das ist ja wohl nur mit DHTML zu schaffen, oder nicht?

      tschö

      jan(16)