我通过 jQuery 将数据库值存储在 HTML5 数据属性中,同时首先将它们转义为 HTML 属性安全,并且它适用于String
s.
但是,如果我存储了一个不以 开头的数字0
,它总是给出,例如当值是1000
:
未捕获的类型错误:对象 1000 没有“替换”方法
如何解决这个问题?
html 转义符/unescaper
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
function unescapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, "\"")
.replace(/'/g, "'");
}
我用这个作为 HTML5 数据$.append()
的元素。String
data-sortValue="'+sortValue+'"
我尝试在另一个函数中再次阅读它unescapeHtml(String($(this).data('sortvalue')))
。