2016-09-14 5 views
1

私はHTMLエンティティを出力する簡単な構文に苦しんでいます。簡単のためJavaScriptでのHTMLエンティティの出力

document.write("é"); 

私はéとして出力éしたいです。

引用符、アポストロフィ、およびマークなしで試してみました。

私がそれを動作させることができた唯一の方法は/é/ですが、出力は/é/です。

誰かがこれを行う正しい方法を私に知らせることができますか(、可能であればスラッシュが自分のことをやっている理由を)?

私はjQueryに慣れていないので、コアJavaScriptで回答を保持していただければ幸いです。

https://jsfiddle.net/e2ezz2h1/

+2

(あなたがアンパサンドを維持したい場合は) 'innerHTML'(あなたはエンティティを使用する場合)または' textContent'を使用し、 'document.write'を使用しないでください – Bergi

+0

私は」実際にはそれを 'innerHTML'ではなく' text'の 'value'に書き込もうとしています。 https://jsfiddle.net/esqrg8Lc/ – Rilke

+1

非jQueryの回答はこちらhttp://stackoverflow.com/a/1395954/74757 –

答えて

1

https://stackoverflow.com/a/9609450/2637098 とあなたが提供される追加情報は、このコードは適合すべきであるあなたのニーズ。

var element = document.createElement('div'); 
 
element.innerHTML = "Héllo world!"; 
 

 
document.getElementById('demo1').value = element.textContent; 
 
element.textContent = '';
<input type="text" id="demo1" />

0

あなたは&amp;でアンパサンドをエスケープする必要があります。この回答に基づいて

document.write("&amp;eacute;");

+0

アンパサンドもエスケープする必要はありませんか?あなたは '\&eacute;'を試してみるべきだと思いますが、そのアイデアは正しいです! –

+1

@MaartenBicknese htmlで '' '' '' 'でエスケープする必要はなく、JS文字列リテラルで'& 'sをエスケープする必要はありません – Bergi

+0

これをjsfiddleで試してみると、https://jsfiddle.net/ qwyf32j5/ –

関連する問題