我收到下面的字符串从我的Ajax请求HTML字符串:如何逃脱具有多双引号
As per json doc, "quotes must be escaped "
这是存储在data.description
和嵌入在模板:
'<a href="#"' + 'data-title="' + data.description + '"></a>'
data-title
的值被用作弹出的lightbox插件的标题。我尝试了以下功能:
var HtmlEncode = function(s) {
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
为:
'<a href="#"' + 'data-title="' + HtmlEncode(data.description) + '"></a>'
现在由于data.description
包含多个报价的JavaScript假定他们为多个参数,并抛出错误。我搜索了很多其他的建议在div中添加数据并检索其内部HTML的其他Stackoverflow帖子,但在我的情况下可能。
感谢
http://stackoverflow.com/questions/7753448/how-do-i-escape-quotes-in-html-attribute-values –