2011-08-06 71 views
4

下面的代碼打印是否有可能獲得createTextNode方法來呈現html標記?

這應該打印(b)本應打印(/ B)這應該打印

<script> 
function produceMessage(){ 
    var msg= '<b>This should print</b>'; 
    return msg; 
} 

</script> 

<span id="mySpan"></span> 

<script> 

    document.body.appendChild(document.createTextNode(produceMessage())); 
    document.write(produceMessage()); 
    document.getElementById('mySpan').innerHTML=produceMessage(); 
</script> 

回答

9

不,文本節點將不打印任何HTML。相反,創建一個元素,或使用文檔片段以這種方式插入HTML。

function boldHTML() { 
    var element = document.createElement("b"); 
    element.innerHTML = "Bold text"; 
    return element; 
} 
document.body.appendChild(boldHTML()); 

將打印粗體

+1

在內聯元素中使用encase javascript會不好實踐嗎? user784637

相關問題