Tina: IE stellt non breaking Hyphen (‑) nicht richtig dar.

Beitrag lesen

Hallo Gunnar,
wow, hätte ich nicht gedacht. Das mit dem escaping verstehe ich noch nicht ganz. Wieso ist dieses Zeichen anders?

Natürlich ginge es auch mit JavaScrpit. Du suchst ja nicht die Zeichenkette '‑', sondern das Zeichen '‑'. Beim Escapen IMMER den Kontext beachten! Der ist hier nicht HTML, sondern JavaScript; also '\u2011'.

Ich würde es gerne mal mit JavaScript ausprobieren, auch wenn es nicht die bevorzugte Lösung sein sollte. Es interessiert mich einfach, wieso ich nicht nach dem Zeichen suchen kann.

Die folgende Lösung funktioniert nicht. Kannst Du mir sagen wieso?
Beim onload wird folgende Funktion aufgerufen:

function replaceNonBreakingHyphens()
{
  // hole alle option-Tags
  var optionElements = document.getElementsByTagName('OPTION');
  for (var i=0; i<optionElements.length; i++)
  {
    var optionLabel = optionElements[i].firstChild.nodeValue;
    if(optionLabel.match(/\u2011/))
    {
      // ersetze die Zeichenkette falls sie gefunden wird
      optionElements[i].firstChild.nodeValue = optionLabel.replace(/\u2011/,'-');
    }
  }
}

Danke
Grüße
Tina