web-dev-qa-db-fra.com

Comment ajouter un espace blanc insécable en JavaScript sans utiliser innerHTML?

Je génère du contenu de manière dynamique et dans certains cas, je dois définir un &nbsp; comme seul contenu d'un <span> élément.

Cependant, ce qui suit ajoute &nbsp; sous forme de texte par rapport à l'ajout d'un espace vide:

var foo = document.createElement("span")
foo = document.createTextNode("&nbsp;");

ce qui est logique, donc je me demande, comment pourrais-je ajouter &nbsp; correctement sans (!) utiliser innerHTML

Merci pour l'aide!

15
frequent

Vous pouvez utiliser un littéral unicode pour un espace insécable :

var foo = document.createTextNode("\u00A0");
49
vcsjones

Si vous ne souhaitez pas utiliser innerHTML, vous pouvez utiliser un échappement hexadécimal.

Le plus courant:

  • \x20 - espace standard ou \s
  • \xC2\xA0 - espace insécable ou &nbsp;
  • \x0D - retour chariot ou \r
  • \x0A - nouvelle ligne ou \n
  • \x09 - onglet ou \t

Dans ton cas: \xC2\xA0

10
CodeFanatic