2017-07-03 1 views
1

? J'ai un problème étrange, chaque fois que je tente d'écrire un " via javascript en utilisant le code ci-dessousComment prévenir Javascript de l'analyse syntaxique " à «

function UpdateOutput(){ 
    var toWrite = ""; 
    toWrite += '"' + value + '"'; 
    element.innerHTML = toWrite; 
} 

L'élément affiche

"value" 

au lieu de

"value&quot 

Il y a une façon d'éviter cela?

+6

'' " est interprété comme '" 'lors de l'affichage HTML qui est ce que vous dites à l'élément à faire lorsque vous définissez son code HTML. Naïvement, vous pouvez pré-remplacer '&' par '&'. –

+0

Duplication possible de [Comment afficher le code html brut dans PRE ou quelque chose comme ça, mais sans y échapper] (https://stackoverflow.com/questions/16783708/how-to-display-raw-html-code-in-pre -ou-quelque-chose-comme-mais-sans-fuir-it) –

+3

Vous pouvez utiliser 'innerText' ou [' insertAdjacentText'] (https://developer.mozilla.org/fr-fr/docs/Web/API/Element/insertAdjacentText) au lieu de 'innerHTML' pour empêcher le décodage des entités html. Utilisez insertAdjacentText dans le cas d'éléments préexistants dans l'élément –

Répondre

2

Essayez toWrite += '"' + value + '"';