2016-08-02 1 views
1

Мой код ниже в моем шаблоне HTML подчеркивание буквально распечатыванияТорговая марка заменяется на символ подчеркивания?

"<sup>&reg;</sup>" 

на странице вместо замены товарного знака (®) Я хочу код ниже, чтобы сделать. Что случилось с моим кодом? EDIT: я хочу, чтобы название designation.title и designation.description напечатал на странице, просто замените там (R) ®.

<%- designation.title.replace(/(®)/ig, "<sup>&reg;</sup>") %> 
<%- designation.description.replace(/(®)/ig, "<sup>&reg;</sup>")%> 
+0

Я не знаю, подчеркивание, но мне кажется, что Вы видите * текст * вместо * HTML *, элемента. –

+0

Да, это правильно, я вижу текст, а не HTML. Но не знаю, почему –

ответ

2

Вы используете тип template function, что делает автоматический ускользающей для HTML: <%- вместо <%. Используя это приведет подчеркивание, чтобы избежать все так, что это может быть выход, как это (выход без интерпретируется как HTML, так < становится &lt;, & становится &amp; и т.д.

Если вы хотите выводить необработанный HTML просто перенесите - off <%-, но это может быть небезопасно, в зависимости от остальной части designation.title, и если у него есть символы, которые необходимо экранировать.

+0

Я вижу, что вы говорите. Но если я хочу напечатать содержание titleation.title и заменить любой (R) текст на товарный знак, как мне написать это в подчеркивании? Потому что я действительно хочу <% - designation.title%> –

+0

@ sk_225 Я не думаю, что шаблоны подчеркивания достаточно мощные, чтобы сделать это красиво. Единственный способ, которым я могу думать, это сделать замену после визуализации шаблона: '_.template ('<% - обозначение.title%>') ({обозначение: {title: 'Example®'}}) .replace (/ (®)/ig, "®") '. Безопасно делать эту замену после разгона, если у вас нет другого '' 'в другом месте шаблона, который вы не хотите делать для этой замены. – Paulpro

0

Создайте элемент DOM и вставьте в него свою строку. метод, а не строка?

var output = document.getElementsByTagName('div')[0]; 
 
var output2 = document.getElementsByTagName('div')[1]; 
 
var el = document.createElement('div'); 
 
el.innerHTML = "<sup>&reg;</sup>"; 
 

 
var content = document.createTextNode("<sup>&reg;</sup>"); 
 

 
output.appendChild(el); 
 

 
// this does not work 
 
output2.appendChild(content);
<div></div> 
 
<div></div>

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

  • Нет связанных вопросов^_^