2016-09-14 4 views
1

Я борюсь с простым синтаксисом вывода объектов HTML.Вывод HTML-объектов в JavaScript

Для простоты:

document.write("é"); 

Я хочу вывести é как é.

Я пробовал его с кавычками, апострофами и без знаков.

Единственный способ, которым мне удалось заставить его работать, - /é/, но который выводит /é/.

Может ли кто-нибудь сообщить мне о правильном способе делать это (и, если возможно, объяснить, почему косые черты делают свою вещь)?

Я не знаком с jQuery, поэтому я был бы признателен, если бы вы сохранили ответы в основном JavaScript.

https://jsfiddle.net/e2ezz2h1/

+2

Не используйте 'document.write', используйте' innerHTML' (если вы хотите использовать объекты) или 'textContent' (если вы хотите сохранить амперсанд) – Bergi

+0

Я m фактически пытается записать его в текстовое поле 'value', а не в' innerHTML'. 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 нет escape-кода с '' '' '' '', и вам не нужно скрывать '&' s в строковых литералах JS. – Bergi

+0

Если вы попробуете это на jsfiddle, это не поможет https://jsfiddle.net/ qwyf32j5/ –

Смежные вопросы