JavaScript:单引号'导致错误

JavaScript: Single quote ' causes error

本文关键字:错误 单引号 JavaScript      更新时间:2023-09-26

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

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

不幸的是,这似乎不起作用。Firebug在参数列表后显示"SyntaxError:missing)",您可以看到HTML实体已经被替换为"。

我能做些什么来避免这个问题?

像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>

但也许只有我…

您应该转义引号。不使用html实体。在"字符串中,您可以使用"来转义单引号。

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

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

试试这个

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

因为"#039"代表单引号,所以在您以前的代码中("……")会因此而失败