在Javascript中转义html属性中的双引号

Escaping double double quotes in html attributes in Javascript

本文关键字:html Javascript 转义 属性      更新时间:2023-09-26

我使用bootstrap创建包含jQuery弹出窗口的html节点。弹出窗口包含html,所以我有引号和转义的问题:

var content = '<input type="text" ng-model="test1" />';
var txt =     '<button type="button" data-container="body" ' +
                     'data-toggle="popover" title="myTitle" data-html="true" '+
                     'data-content="'+content+'">Click</button>';

如何转义属性内的双引号=> html-attributes?在data-content属性中正确吗?

编辑:我用angular编译代码,所以它也应该与它一起工作。

如果是HTML,则可以使用HTML实体转义可能以其他方式解释的字符。例如,&quot;将在HTML属性中显示为":

var content = '<input type=&quot;text&quot; ng-model=&quot;test1&quot; />';

概念证明:http://jsfiddle.net/teddyrised/5X5Ye/

参考W3C的HTML实体图获取更多信息:http://dev.w3.org/html5/html-author/charref