JavaScript: 单引号 ' 导致错误

JavaScript: Single quote ' causes error

我有一个字符串,里面有一个 ':

<a href="#" onclick="if (confirm('... &#039; ...')) { document.exampleFormName.submit(); }">example link text</a>

不幸的是,这似乎不起作用。 Firebug 表示 "SyntaxError: missing ) after argument list" 并且您可以看到 HTML 实体已被替换为 '.

我该怎么做才能避免这个问题?

你应该转义引号。不使用 html 个实体。 在 '' 字符串中,您使用 \' 转义单引号。

阅读有关转义字符的更多信息:https://mathiasbynens.be/notes/javascript-escapes

    
    <a href="#" onclick="if (confirm('... \' ...')) { document.exampleFormName.submit(); }">example link text</a>

这样写不好看XD

<a href="#" onclick="if (confirm('... &#039; ...')) { document.exampleFormName.submit(); }">example link text</a>

最好用函数

<script>
  function foo() {
    if (confirm("...' ...")) { document.exampleFormName.submit(); }
    return false; // disable the link
  }
</script>
<a href='#' onclick='return foo()'>example link text</a>

但也许只有我..

试试这个

<a href='#' onclick='if (confirm("... &#039; ...")) 
{ 
  document.exampleFormName.submit(); 
}'> example link text
</a>

因为“#039”代表单引号,所以您之前代码中的 ('...'...') 会因此失败