我有一个表,我使用jquery将数据插入表中但是当我将数据发送到服务器进行验证时,'&'等html字符就像& ;安培; 即可。所以为了这个目的,我做了两个方法只是为了将html字符转换回文本字符。
方法1:
function decodeHtml(str) {
var map =
{
'&': '&',
'<': '<',
'>': '>',
'"': '"',
''': "'"
};
return str.replace(/&|<|>|"|'/g, function (m) { return map[m];
});}
方法2:
function decodeHTML(str){
return $('<div>').html(str).text();
}
所以,我的问题是哪种方法最好,为什么?
答案 0 :(得分:1)
第二种方法使用 的 1 即可。链接。 的 2 即可。 jquery在执行函数时执行大量检查。 <强> 3 即可。访问DOM。
很明显第一种方法更快,因为它是普通的javascript。虽然它在你的场景中不会产生如此巨大的差异,但如果你不喜欢第二种方法可能会非常慢明智地使用它是因为当jQuery从字符串构建元素时,它会通过迭代来添加所有顶级项。所以你可能需要将html包装在一个项目中。
使用类名访问DOM,使用数组等时,Jquery会更快。
希望,它澄清事情!
<强> P.S。更快,不要与更好或推荐相混淆。