[英]Trademark replace in underscore?
我的HTML下划线模板下面的代码实际上是打印出来的
"<sup>®</sup>"
在页面而不是商标替换( ® )我想要下面的代码。 我的代码出了什么问题? 编辑:我想将specified.title和designation.description打印到页面,只需用®替换那里的(R)。
<%- designation.title.replace(/(®)/ig, "<sup>®</sup>") %>
<%- designation.description.replace(/(®)/ig, "<sup>®</sup>")%>
您正在使用为HTML自动转义的模板函数类型: <%-
而不是<%
。 使用它将导致下划线转义所有内容,以便它可以按原样输出(输出而不被解释为HTML,因此<
变为<
, &
变为&
等等。
如果你想输出原始的HTML刚落-
关闭<%-
但可以是不安全的,这取决于其余designation.title
,如果有需要转义的任何字符。
请改用<%=
。
创建一个DOM元素并将其放入其中。 在你的情况下,将el对象交给方法,而不是字符串?
var output = document.getElementsByTagName('div')[0]; var output2 = document.getElementsByTagName('div')[1]; var el = document.createElement( 'div' ); el.innerHTML = "<sup>®</sup>"; var content = document.createTextNode("<sup>®</sup>"); output.appendChild(el); // this does not work output2.appendChild(content);
<div></div> <div></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.