2011-08-06 41 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

相关问题