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

dan*_*iel 5 javascript escaping angularjs

我使用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>';
Run Code Online (Sandbox Code Playgroud)

如何在attributes => html-attributes中转义双引号?在数据内容属性中正确吗?

编辑:我使用angular编译代码,以便它也可以使用它.

Ter*_*rry 10

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

var content = '<input type=&quot;text&quot; ng-model=&quot;test1&quot; />';
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参阅W3C的HTML实体图表:http://dev.w3.org/html5/html-author/charref

  • 这通常适用,但不适用于角度编译 (2认同)