JavaScript:单引号'导致错误

时间:2015-03-30 13:17:52

标签: javascript html quotes

我有一个带有'的字符串。在里面:

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

不幸的是,这似乎不起作用。 Firebug在参数列表&#34;之后说&#34; SyntaxError:missing)并且您可以看到HTML实体已被&#39;。

替换

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

3 个答案:

答案 0 :(得分:5)

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

但也许就是我......

答案 1 :(得分:3)

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

详细了解转义字符:https://mathiasbynens.be/notes/javascript-escapes

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

答案 2 :(得分:1)

试试这个

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

因为&#34;#039&#34;代表单引号所以(&#39; ...&#39; ...&#39;)在您之前的代码中会因为这个原因而失败