如何在JavaScript中转义单个引号(';)?
更新: 我想对这个问题给出最新的答案。首先,让我声明,如果您正试图完成下面的内容,我建议您改为通过管理事件。我强烈建议您在项目中使用它们,并使用它们的语法来避免过度使用DOM 问题 好的,我基本上是这样做的:如何在JavaScript中转义单个引号(';)?,javascript,html,escaping,Javascript,Html,Escaping,更新: 我想对这个问题给出最新的答案。首先,让我声明,如果您正试图完成下面的内容,我建议您改为通过管理事件。我强烈建议您在项目中使用它们,并使用它们的语法来避免过度使用DOM 问题 好的,我基本上是这样做的: document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\'ex1\')' />"; document.getElementById(“某物”).in
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\'ex1\')' />";
document.getElementById(“某物”).innerHTML=“”;
我不想要双引号(“),我把\')。我只想要一个单引号,所以我尽量不让它放在双引号时使用。我试图达到这一点,在最终的结果
<img src="something" onmouseover="change('ex1')" />
逃跑对我没用
我的有标记的答案很好,但是,更干净(更专业的方式,国际海事组织)是。这里的答案非常简单: 您已经将其包含在双引号中,因此无需使用
\
对其进行转义
如果要在单引号字符串中转义单引号:
var string = 'this isn\'t a double quoted string';
var string = "this isn\"t a single quoted string";
// ^ ^ same types, hence we need to escape it with a backslash
或者,如果要转义\'
,可以将斜杠转义为\\
,将引号转义为\'
,如下所示:
var string = 'this isn\\\'t a double quoted string';
// vvvv
// \ ' (the escaped characters)
但是,如果包含具有不同引号类型的字符串,则不需要转义:
var string = 'this isn"t a double quoted string';
var string = "this isn't a single quoted string";
// ^ ^ different types, hence we don't need escaping
你可以在JavaScript中逃脱<代码> <代码> \代码> 你应该总是考虑浏览器到底会看到什么。在这种情况下,它会看到:
<img src='something' onmouseover='change(' ex1')' />
…也就是说,您可以使用JavaScript引号:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\"ex1\")' />";
document.getElementById(“某物”).innerHTML=“”;
由于值实际上位于HTML属性内部,因此应使用&apos;
"<img src='something' onmouseover='change('ex1')' />";
”;
document.getElementById(“某物”).innerHTML=“”;
或
document.getElementById(“某物”).innerHTML='';
它应该可以工作……或者,更好的是,根本不要使用内联属性处理程序;尤其是在通过javascript创建的元素上。尝试过。它仍然给我未定义的属性,而不是给我的值ex1Alright。我犯了一个用户错误…放在错误的位置。先生,如果我写
,这是不起作用的,但如果我将其更改为“警报(“你好”)"
那为什么呢?@SurajJain你读过答案吗?谢谢。我试过一次,但我想我可能会把它放在最坏的位置。这解决了我的问题。谢谢。这对我在尝试使用文本/x模板内部时起到了作用。先生
这不起作用。你能指出一个错误吗?@SurajJain Firs首先,你不应该在alert中使用引号-你正在输出一个文本值,其次,你应该在脚本中转义引号或更改引号的类型。谢谢,你能告诉我行高是多少吗?@SurajJain这里的评论对于任何不相关的讨论来说都不是很好,但是行高就是行高e线。你可以
"<img src='something' onmouseover='change('ex1')' />";
document.getElementById("something").innerHTML = "<img src=\"something\" onmouseover=\"change('ex1')\" />";
document.getElementById("something").innerHTML = '<img src="something" onmouseover="change(\'ex1\')" />';