2011-09-24 43 views
0

我正在建立一个使用JavaScript的HTML表格,我想添加一个可能包含html标记的单元格。我不想让这个标记解释,但只是显示。转义HTML标记

LogHTML += "<tr><td>" + data + "</td></tr>"; 

我该怎么做?是否有一些功能或HTML标记将完成?

我试过pre,但后来我得到了额外的空间。

+0

每一个主要的JS库具有代码做的是,不要重新发明轮子。 –

+0

可能重复的[我可以在JavaScript中转义html特殊字符?](http://stackoverflow.com/questions/6234773/can-i-escape-html-special-chars-in-javascript) –

+0

@亚历克斯:谢谢,那是做的。 :-) –

回答

1
LogHTML += "<tr><td>"+data.replace(/</g,"&lt;")+"</td></tr>"; 

这就是你所需要的。

+0

谢谢,请参阅上面引用的文章,了解处理此情况和其他情况的函数。 –

1

最好的解决方案是使用DOM代替innerHTML并为data创建文本节点。

但是你可以尝试this作为一个快速的解决方案或

function htmlentities(s){ 
    var div = document.createElement('div'); 
    var text = document.createTextNode(s); 
    div.appendChild(text); 
    return div.innerHTML; 
}