appendchild中的上标html标签

时间:2013-03-27 09:34:06

标签: javascript html dom

我的js文件在前端导出包含上标标记的文本。问题是在浏览器上<sup>&reg;未呈现,而不是它将标记本身显示为文本。有解决方案吗谢谢!

var rName="Something<sup>&reg;</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);
    }   

1 个答案:

答案 0 :(得分:2)

根据定义,文本节点不包含HTML,因此任何特殊的HTML字符都将按字面意义进行转义和打印。

您可以创建span元素并设置其innerHTML

var spannode = document.createElement('span');
spannode.innerHTML = rName;
node.appendChild(spannode);