【问题标题】:Javascript quotes [duplicate]Javascript引号[重复]
【发布时间】:2014-05-11 03:23:22
【问题描述】:

我有一段 javascript 创建一个 HTML 表格,将表格的每一行保存到一个数组中。我希望每一行上的一个表格单元格是可点击的。

以下代码可以正常工作,当单击 cell3 时,它会显示一个消息框:

array.push("<tr><td>cell1</td><td>cell2</td><td onclick='alert(this);'>cell3</td></tr>")

我的问题是,如果我想让消息框说“你好”,由于引号,我无法让它工作,有什么想法吗?

这是一个引语中的引语,我的大脑正在融化。

提前感谢您的帮助。

【问题讨论】:

  • 你试过转义引号吗?
  • 查看反斜杠序列 test="\"" 的例子
  • 使用转义字符 `\`,例如"警报(\"你好\")"
  • 太棒了! \"你好\" 工作得很好。我之前曾尝试转义引号,但不幸的是只尝试了不起作用的 \'Hello\'。感谢大家的帮助,这个网站是多么棒的资源。

标签: javascript html


【解决方案1】:

尝试在单词 hello 的引号前加上反斜杠 \(例如)。

如果在硬编码时对您有用,您可以通过编程方式执行此操作...但让我们先看看它是否对您有帮助。

以下答案还建议如何以编程方式将字符串中的所有引号替换为转义引号,因此您不必对它们进行硬编码:

How do I replace a double-quote with an escape-char double-quote in a string using javascript?

样本:

 str.replace(/"/g, '\\"');

【讨论】:

  • 注意 - 当我写我的答案时,其他人在 cmets 中对你的第一篇文章提出了同样的建议......我所描述的也逃避了你的引用。
【解决方案2】:

您可以在escape " char 之前使用\,作为示例:

array.push("<tr><td>cell1</td><td>cell2</td><td onclick=\"alert(this);\">cell3</td></tr>");

【讨论】:

    【解决方案3】:

    这行得通吗?

    var alertMessage = "HELLO!";
    array.push("<tr><td>cell1</td><td>cell2</td>
       <td onclick='alert(" + alertMessage  +");'>cell3</td></tr>")
    

    【讨论】:

      猜你喜欢
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      相关资源
      最近更新 更多