我的 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);
}
最佳答案
根据定义,文本节点不包含 HTML,因此任何特殊的 HTML 字符都将被转义并按字面打印。
您可以创建一个 span
元素并设置其 innerHTML
:
var spannode = document.createElement('span');
spannode.innerHTML = rName;
node.appendChild(spannode);
关于javascript - appendchild 中的上标 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655555/