我有以下情况:
我在javascript中编写了一个包含撇号字符的字符串.该字符串实际上是html代码,稍后使用innerHTML方法附加到html .所以代码看起来像这样:
var str = '<a href="javascript:foo("ba'r")">link</a>'; (argument of the foo function is string)
Run Code Online (Sandbox Code Playgroud)
之后,这个字符串被插入到一些html元素中,如下所示:
dataHolder.innerHTML = str;
Run Code Online (Sandbox Code Playgroud)
我试图逃跑'与性格','和\u0027而所有这一切都渲染成'之后innerHTML方法被调用,所以当方法foo从上面的例子可以通过点击链接叫我总是得到JavaScript错误说:Uncaught SyntaxError: missing ) after argument list
你需要在你的字符串中同时使用'和",所以你需要第三种方法来对字符串进行delcare,你可以使用模板字符串.将您的ba'r字符串声明为模板字符串并使用反斜杠转义其撇号\:
document.querySelector('#myDiv').innerHTML =
'<a href="javascript:foo(`ba\'r`)">link</a>';
function foo(data) {
console.log(data);
}Run Code Online (Sandbox Code Playgroud)
<div id="myDiv"></div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |