Javascript 用下划线替换商标?

Javascript 用下划线替换商标?,javascript,underscore.js,Javascript,Underscore.js,下面的HTML下划线模板中的代码正在打印出来 "<sup>&reg;</sup>" “®;” 在页面上,而不是商标替换(®),我希望执行以下代码。我的代码怎么了?编辑:我想将designation.title和designation.description打印到页面上,只需将其中的(R)替换为® 您使用的类型对HTML进行自动转义:创建DOM元素并将字符串放入其中。在您的例子中,将el对象交给方法,而不是字符串 var output=documen

下面的HTML下划线模板中的代码正在打印出来

 "<sup>&reg;</sup>" 
“®;”
在页面上,而不是商标替换(®),我希望执行以下代码。我的代码怎么了?编辑:我想将designation.title和designation.description打印到页面上,只需将其中的(R)替换为®


您使用的类型对HTML进行自动转义:
创建DOM元素并将字符串放入其中。在您的例子中,将el对象交给方法,而不是字符串

var output=document.getElementsByTagName('div')[0];
var output2=document.getElementsByTagName('div')[1];
var el=document.createElement('div');
el.innerHTML=“®;”;
var content=document.createTextNode(“®;”);
输出。追加子项(el);
//这行不通
输出2.追加子项(内容)


使用
我不知道下划线,但似乎您看到的是元素的文本,而不是HTML。是的,这是正确的,我看到的是文本,而不是HTML。但我不知道为什么我会明白你在说什么。但是,如果我想打印designation.title的内容并用商标替换任何(R)文本,我该如何用下划线书写?因为我确实想要@sk225,所以我认为下划线模板的功能不足以很好地做到这一点。我能想到的唯一方法是在呈现模板后进行替换:
.template(“”)({designation:{title:'Example®'}}).replace(/(®)/ig,“®;”)
。在渲染后进行替换是安全的,只要模板中没有任何其他不想进行替换的
®
<%- designation.title.replace(/(®)/ig, "<sup>&reg;</sup>") %>
<%- designation.description.replace(/(®)/ig, "<sup>&reg;</sup>")%>