2013-03-27 52 views
1

我的js文件在前端輸出包含上標標籤的文本。問題是在瀏覽器上<sup>&reg;不是渲染,而是將標籤本身顯示爲文本。任何解決方案謝謝!appendchild中的上標html標籤

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); 
    } 
+0

[問題的jsfiddle演示(http://jsfiddle.net/u2f2K/) – 2013-03-27 09:42:52

回答

2

文本節點根據定義不包含HTML,因此任何特殊的HTML字符都會被轉義並逐字打印。

您可以創建一個span元素,並將其innerHTML

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

你化險爲夷。非常感謝。問候 – 2013-03-27 09:44:27