11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai un probleme avec les caracteres speciaux du HTML,

si je crée un variable

var str = "TABLE"
et ensuite
document.getElementById(id).innerHTML = str -> pas de probleme

par contre

si str contient "<" ou ">" ca ne marche plus (avec IE6, FF pas de pb).
str = "<TABLE>"

Je ne cherche pas a remplacer < et > par &gt; et &lt;

Quelqu'un aurait une idée ?

Smiley sweatdrop
Bonjour vxg_vxg,

Je ne comprends pas tellement ton problème, et je ne sais pas non plus si je ce que je vais te dire te semble évident mais :

<table> est une balise HTML et sera interpretée comme telle par le navigateur lors de l'appel à là méthode innerHTML. En faisant :

document.getElementById(id).innerHTML = '<table>';

Tu crées une balise <table> à l'intérieur de ton objet DOM, tout simplement.

@plouche
Salut,

Je ne comprends pas trop moi non plus ton problème.

L'idéal pour éviter ce genre de problèmes est encore d'utiliser l'API du DOM (document.createElement, etc.).