我有一个简单的字符串
Company's
现在我提交了一些在提交表单时运行的javascript
var jsCompanyName = '@Model.Name';
var unescapedCompanyName = unescape(jsCompanyName);
$('.selector-input').val(unescapedCompanyName);
$('.selector-input-id').val('@Model.Id');
考虑到调试器,即使在unescape函数之后,我的var unescapedCompanyName仍然是“Company' s”,是否有人知道为什么不删除'
并将其替换为“
答案 0 :(得分:5)
unescape()
函数与HTML语法无关。它用于处理URL语法中的转义,这是完全不同的事情。 (即使出于预期目的,它也被弃用。)
没有内置函数来处理HTML转义。但是,在Web浏览器中运行的代码可以执行以下操作:
function html_unescape(s) {
var div = document.createElement("div");
div.innerHTML = s;
return div.textContent || div.innerText; // IE is different
}
答案 1 :(得分:3)
如果您确实需要,可以使用JQUERY
轻松完成此操作:
function htmlDecode(value) {
return $('<div/>').html(value).text();
}
var str = 'Company's';
console.log(htmlDecode(str)); // Company's