Datatable Jquery特殊字符编码和解码为HTML

时间:2017-03-05 06:20:49

标签: jquery html datatables

我发现,当我们使用API​​函数从表对象中获取值时,'&'等html特殊字符不会被解码,而是以ASCII或Unicode格式呈现。这是我对dataTable的简单初始化。

var otable = $('#vtable').DataTable({
        "dom": '<"top"lBf<"clear">>rt<"bottom"ip<"clear">>'
}); 

请参阅此Fiddle

  

之前解码html特殊字符的最佳解决方案是什么?   将它传递给数据处理?

2 个答案:

答案 0 :(得分:1)

对HTML实体进行编码:

var valEncoded = $('<div>').text(val).html();

解码HTML实体:

var valDecoded = $('<div>').html(val).text();

请参阅this example以获取代码和演示。

请参阅updated jsFiddle,了解如何在项目中使用它。

答案 1 :(得分:0)

使用Stackoverflow的this answer,问题的解决方案是下面的函数来解码一行数据中的html字符。

function decodeHtml(str) {
    var map =
    {
        '&amp;': '&',
        '&lt;': '<',
        '&gt;': '>',
        '&quot;': '"',
        '&#039;': "'"
    };
    return str.replace(/&amp;|&lt;|&gt;|&quot;|&#039;/g, function (m) { return map[m]; 
    });
}