Thomas: Text von Absatz Ändern

Langsam schwindet meine Vorliebe ja für
den Netscape dahin...
Ich versuch nun schon seit langem
folgendes Problem zu lösen. In einem
Absatz (<p> text </p>) soll per
klick der enthaltene Text geändert werden, also
habe ich mir folgendes erdacht:

function setText(objName,x,newText) {
       if (navigator.appName=='Netscape') {document.lay.document.open();
                                                      document.lay.document.write(newText);
                                                        document.lay.document.close();}      
                                                                else document.all.lay.innerHTML = (newText);                                              }

<p id="lay" name="lay">  DA </p>

Der text wird beim clicken auf einen
Button übergeben.
Der Explorer meistert seinen Teil überall,
wärend ich dieses Script mit dem Netscape
nur in Verbindung mit einem Layer (nichteinmal
mit <div> zum laufen bekommen habe.
Kann mir jemand helfen ?

MfG Thomas

  1. Hi!

    Ich vermute mal, daß dir der Netsi sagt: "document.lay has no properties" oder so ähnlich?!

    mit document.open() oder document.write() kannst du im Netscape entweder auf ein Document oder einen Layer (wird wie ein eigenes Document behandelt) zugreifen. (nicht aber auf Unterelemente eines Dokumentes, wie Absätze u.d.gl.)

    Damit der Netsi ein <DIV> als Layer interpretiert mußt du es positionieren. (<div id="lay" style="position:absolute; ...">text</div>)
    Tadellos funktioniert es allerding nur bei absoluter Positionierung (bei relativer Positionierung hatte ich einige Troubles, deren Grund für mich bis dato nicht eruierbar ist) - was dir aber womöglich deine restlichen Positionierungen (mittels HTML-Tags) durcheinander wirft.

    ansprechen würde ich diesen Layer dann mit document.layers["layername"]..... oder document.layers.layername....

    Mein Schluß daraus ist: Wenn du dynamische Änderungen auf einer Seite machen willst, mußt du die Seite komplett mit absolut positionierten <Div>s aufbauen.

    Aber vielleicht weiß ja jemand anders noch eine bessere Lösung?

    mfG
    BRAND

    1. Danke für deine Antwort !

      Also war es richtig, daß NS das ganze
      nur in einem Layer kann. Eigentlich
      schade, die Firma die JS erfindet
      implementiert JS 'schlechter' wie
      die Nachmacher, denn eigentlich
      währe es doch logisch den Inhalt eines
      Tags auf diese Weise zu ändern.

      Die Lösung mit dem Layern
      hat das Problem, daß bei
      meiner Seite der ein relativ positionierter
      Layer in einer Tabelle sitzen soll,
      dazu ist der NS aber auch zu *dumm*.

      oder weißt jemand, wie sowas geht ?