转义html标记

时间:2011-09-24 12:57:08

标签: javascript html

我正在使用javascript动态构建一个html表,我想添加一个可能包含html标记的单元格。我不希望解释标记,只是简单地显示。

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

我该怎么做?是否有一些功能或html标记可以实现这一目标?

我试过预先但后来我得到了额外的空格。

2 个答案:

答案 0 :(得分:1)

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

这就是你所需要的一切。

答案 1 :(得分:1)

最佳解决方案是使用DOM而不是innerHTML,并为data创建文本节点。

但您可以尝试this作为快速解决方案或

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