Felix Riesterer: document.createTextNode(" ") - wie richtig?

Liebe Mitleser,

Dieser Code erzeugt nicht das von mir gewünschte Ergebnis:
var text = document.createTextNode(" ");

Eine so erzeugte TextNode erzeugt in meinem Dokument anstatt eines geschützten Leerzeichens (Code 160, HTML-Entität " ") dieses hier: &nbsp (als HTML steht dort " ").

Wie geht das mit Javascript richtig? Bin zu blöd um in der Doku oder im Forum erfolgreich zu suchen...

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  1. Hallo Felix,

    habs mal getestet, und weiss leider auch keine Lösung.

    Weiss nur dass es an dem "&" liegt, denn sollte man es so schreiben:
    ("&"+"nbsp;") passiert das Gleiche.

    Aber brauchst du das wirklich oder recht ein physisches leerzeichen?
    (" ")

    carpe diem
    Pia

  2. Ich würde mal versuchen, innerhalb der Quotes direkt ein geschütztes Leerzeichen einzugeben und nicht zu umschreiben. Ich weiß gerade nicht, wie man das erzeugt, weil ich sowas nicht oft brauche. Ist irgendeine Tastenkombination (alt+Leerzeichen oder so ähnlich).

    1. Lieber Werner,

      Ich würde mal versuchen, innerhalb der Quotes direkt ein geschütztes Leerzeichen einzugeben

      das führt zum gewünschten Ergebnis. Aber es gibt auch eine Lösung, dieses geschützte Leerzeichen zu maskieren: http://de.selfhtml.org/javascript/objekte/string.htm#from_char_code@title=from_char_code(160)

      (alt+Leerzeichen oder so ähnlich).

      ALT + 0 1 6 0 ;-)

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Lieber Werner,

        Ich würde mal versuchen, innerhalb der Quotes direkt ein geschütztes Leerzeichen einzugeben

        das führt zum gewünschten Ergebnis.

        Dachte ich mir schon :-)

        Aber es gibt auch eine Lösung, dieses geschützte Leerzeichen zu maskieren: http://de.selfhtml.org/javascript/objekte/string.htm#from_char_code@title=from_char_code(160)

        (alt+Leerzeichen oder so ähnlich).
        ALT + 0 1 6 0 ;-)

        War mir schon klar, daß die Kombi nicht stimmt. Hatte es nur geschrieben, um zu verdeutlichen, was ich meine. Es gibt aber, da bin ich fast sicher, eine Kombination mit Leerzeichen ohne Zahlen. Damit müßte es dann auch gehen.

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        1. War mir schon klar, daß die Kombi nicht stimmt. Hatte es nur geschrieben, um zu verdeutlichen, was ich meine. Es gibt aber, da bin ich fast sicher, eine Kombination mit Leerzeichen ohne Zahlen. Damit müßte es dann auch gehen.

          Ich habe gerade mal geguckt. In Word ist es STRG+UMSCHALT+LEERTASTE. Probier mal, ob das auch geht. Würde mich mal interessieren, ob das nur Word-spezifisch ist oder allgemein.

  3. Hallo Felix,

    Dieser Code erzeugt nicht das von mir gewünschte Ergebnis:
    var text = document.createTextNode(" ");
    Eine so erzeugte TextNode erzeugt in meinem Dokument anstatt eines geschützten Leerzeichens (Code 160, HTML-Entität " ") dieses hier: &nbsp (als HTML steht dort " ").

    natürlich, es ist wieder mal das alte Problem: Richtige Codierung, aber im falschen Kontext. HTML-gerechte Codierung in Entity-Referenzen hat in JS nun mal nichts zu suchen.

    Wie geht das mit Javascript richtig? Bin zu blöd um in der Doku oder im Forum erfolgreich zu suchen...

    Wo's steht, könnte ich dir leider auch nicht sagen.
    Aber wie wär's mit "\u+00A0"?

    So long,
     Martin

    --
    Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.
    1. Lieber Martin,

      Aber wie wär's mit "\u+00A0"?

      Danke!

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  4. Hallo,

    zumindest unter Firefox ist aus Javascript-Sicht eine Entität schon durch ihren Wert ersetzt.

    Getestet mit:

    html (Ausschnitt):
    <div id="space">&#160;</div>

    javascript:
    alert(document.getElementById("space").firstChild.nodeValue.length);

    Ergebnis:
    1

    Ich denke, dass die Unicodenotation, die Martin schon vorgeschlagen hat, der richtige Weg ist.

    Gruß
    Olaf

    1. hi,

      zumindest unter Firefox ist aus Javascript-Sicht eine Entität schon durch ihren Wert ersetzt.

      Getestet mit:

      html (Ausschnitt):
      <div id="space">&#160;</div>

      Das ist genau das, was Martin schon ansprach: Anderer Kontext.

      Natürlich ist die Entity hier schon ersetzt, weil sie im HTML steht - und du erst anschliessend per Javascript darauf zugreifst.
      Das ist aber was anderes, als wonach Felix gefragt hat.

      gruß,
      wahsaga

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