我的js文件在前端导出包含上标标记的文本。问题是在浏览器上<sup>
和®
未呈现,而不是它将标记本身显示为文本。有解决方案吗谢谢!
var rName="Something<sup>®</sup>";
var rURL="http://www.google.com";
var rAA=1;
function addResult(rName, rURL, rAA)
{
var node=document.createElement("li");
var linkNode=document.createElement("a");
node.setAttribute("id", rAA);
node.setAttribute("class", "searchListing");
node.setAttribute("onclick", "window.open('"+rURL+"','_self');");
linkNode.setAttribute("href", rURL);
linkNode.setAttribute("target", "_self");
var textnode=document.createTextNode(rName);
node.appendChild(textnode);
document.getElementById("search_list_results").appendChild(node);
document.getElementById(rAA).appendChild(linkNode);
}
答案 0 :(得分:2)
根据定义,文本节点不包含HTML,因此任何特殊的HTML字符都将按字面意义进行转义和打印。
您可以创建span
元素并设置其innerHTML
:
var spannode = document.createElement('span');
spannode.innerHTML = rName;
node.appendChild(spannode);