e-lehrlinge: nbsp und DOM

Hallo zusammen
Da NS6 ja weder DHtml noch Layer kennt wollte ich einen Text mittels DOM ändern. Auf die einzelnen Elemente zugreifen und ändern geht zwar ganz prima aber leider bringe ich es nicht fertig einen geschützen Abstand ( ) anzuzeigen. Im Browser wird dann anstelle des Abstandens " " angezeigt, was ich jedoch nicht haben will. Weiss jemand wie man das anstellen muss???    ist ja schliesslich keine eigene Node resp. kein HTML-Tag, den ich mittels einer neuen Node einfügen müsste.

Gruss e-lehrlinge

  1. Aloha!

    Da NS6 ja weder DHtml noch Layer kennt

    Diese Aussage ist schlichtweg falsch. Netscape 6 (nimm lieber nicht 6.0, sondern mindestens 6.2 oder 7.0 - noch besser: Mozilla 1.0) kann prima DHTML - und auch "Layer". Allerdings nicht <layer> (die gehen nur im NS 4), sondern <div> (das kann der NS 4 auch!).

    wollte ich einen Text mittels DOM ändern. Auf die einzelnen Elemente zugreifen und ändern geht zwar ganz prima aber leider bringe ich es nicht fertig einen geschützen Abstand ( ) anzuzeigen. Im Browser wird dann anstelle des Abstandens " " angezeigt, was ich jedoch nicht haben will. Weiss jemand wie man das anstellen muss???    ist ja schliesslich keine eigene Node resp. kein HTML-Tag, den ich mittels einer neuen Node einfügen müsste.

    Die Entity dürfte schlicht als Text zu betrachten sein, der als Wert eines DOM-Knotens einzutragen ist.

    Ein kurzer Blick in die SelfHTML-JS-Objektreferenz brachte zum Vorschein: http://selfhtml.teamone.de/javascript/objekte/node.htm#node_value

    Dein Vorgehen funktioniert aber leider nicht im Opera. Insofern ist es fast besser, doch lieber andere Methoden zu versuchen. Insbesondere das Ein- und Ausblenden von positionierten <div>-Layern hat sich bewährt.

    - Sven Rautenberg

  2. Hallo,

    Da NS6 ja weder DHtml noch Layer kennt wollte ich einen Text mittels DOM ändern. Auf die einzelnen Elemente zugreifen und ändern geht zwar ganz prima aber leider bringe ich es nicht fertig einen geschützen Abstand ( ) anzuzeigen. Im Browser wird dann anstelle des Abstandens " " angezeigt, was ich jedoch nicht haben will. Weiss jemand wie man das anstellen muss???    ist ja schliesslich keine eigene Node resp. kein HTML-Tag, den ich mittels einer neuen Node einfügen müsste.

    Ein   bzw. &#160; wird so erzeugt:
    document.createTextNode(String.fromCharCode(160));

    Ein kleiner Test:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test by TM 08/02</title>
    <script language="JavaScript" type="text/javascript">
    <!--

    function Test()
    {
    document.getElementsByTagName("p")[0].appendChild(document.createTextNode("Ein"+String.fromCharCode(160)+"Text"+String.fromCharCode(160)+"mit"+String.fromCharCode(160)+"festen"+String.fromCharCode(160)+"Leerzeichen."));
    alert(document.getElementsByTagName("p")[0].innerHTML);
    }
    //-->
    </script>
    <p></p>
    </head>
    <body onload="Test()">
    </form>
    </body>
    </html>

    MfG, Thomas