javascript - 在 href 中使用 JavaScript 单引号和双引号

标签 javascript escaping

我在转义 href 的 JavaScript 函数中的单引号和双引号时遇到问题。

我在 href 中有这段 JavaScript 代码。就像——

<a href = "javascript:myFunc("fileDir/fileName.doc", true)"> click this </a>

现在,由于双引号内的双引号无效,我需要转义内部双引号,以便将其视为字符串的一部分 - 所以,我需要这样做 -

<a href = "javascript:myFunc(\"fileDir/fileName.doc\" , true)"> click this </a>

问题是,即使上面的代码也不起作用。 JavaScript 代码在 -- myFunc(

我也尝试使用单引号变体 - 但即便如此似乎也不起作用(这意味着如果我的字符串文字中有一个单引号,那么代码就会被 chop )。

这是我用单引号做的:

<a href = 'javascript:myFunc("fileDir/fileName.doc" , true)'> click this </a>

这行得通,但是如果我在字符串中有一个单引号,那么代码会以与双引号相同的方式被 chop 。

最佳答案

使用反斜杠转义引号是它在 JavaScript 中的工作方式,但您实际上并没有在那里编写 JavaScript 代码:您正在编写 HTML。您可以使用 HTML 转义方法来完成:字符实体。

&quot;  // "
&#39;   // '

例如:

<a href="javascript: alert('John O&#39;Brien says &quot;Hi!&quot');">...</a>

关于javascript - 在 href 中使用 JavaScript 单引号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617901/

相关文章:

javascript - 使用 javascript 从 JSON 动态检索信息

Javascript&Css - onclick() 上的图像修改

javascript - 将$ geoNear与另一个收藏集结合

java - 此正则表达式错误 : var worksheet = (. *)\\};

php - 将 PHP 字符串变量添加到包含引号的文本框值

c++ - 如何将双引号放入字符串文字中?

javascript - setTimeout() 函数被连续调用两次

javascript - 为什么 window.onload 在 IE 中不触发

c++ - 如何动态创建转义序列?

javascript - 转义 JavaScript 字符串中的单引号以进行 JavaScript 评估