在 JavaScript 中组合单引号和双引号
Combining single and double quotes in JavaScript
我想知道 JavaScript 是否有使用 html 元素的书写格式,这些元素在 JavaScript 函数中同时包含单引号和双引号。可能是 javascript 的 heredoc 之类的东西,也可能是 jQuery 中的一个函数。
我找不到解决我的问题的方法,将尝试在下面描述它:
我正在 php 上写网页。我有一个页面,里面有一个 form
。有一个 jQuery 函数可以将 select
元素附加到表单。附加后,用户选择一些选项并提交表单。 (我真的很想把整个代码贴在这里更清楚,但是有大量的代码不太好,所以我试着给你简化一下,抱歉有一些不好的代码)
我有一个像这样的 php 变量(select
有 onchange
事件,showUser
是一个带有 AJAX 请求的函数:
$string = <<<EOT
<select name="sapak[]" onchange='showUser(this.value, document.getElementsByName("dereje[]")[0].value)'>
EOT;
中间有很多option
,当然还有关闭</select>
(我没有把所有的代码都写得更短)。 jQuery 函数的一部分,将 select
附加到 form
:
$(wrapper).append('<div> <? echo $string; ?> <a href="#" class="remove_field">Del</a></div>');
我的问题是,在 $string
变量中我必须使用单引号和双引号,而当涉及到 jQuery 中的 append()
函数时,我再次使用引号。所有这些都在浏览器的控制台 Uncaught SyntaxError: Unexpected identifier
中给我错误,因为单引号从 append('
开始,但在 onchange='
结束。有什么聪明的解决方案吗?我以为 heredoc 会是,我已经用谷歌搜索了,我认为实际上没有 javascript 的 heredoc。可能有一些其他格式可用吗?
这应该有效:
$(wrapper).append("<div> <? echo $string; ?> </div>");
$string = <<<EOT
<select name=\"sapak[]\" onchange=\"showUser(this.value, document.getElementsByName('dereje[]')[0].value)\">
EOT;
正如@Imperative 关于字符转义的建议
我想知道 JavaScript 是否有使用 html 元素的书写格式,这些元素在 JavaScript 函数中同时包含单引号和双引号。可能是 javascript 的 heredoc 之类的东西,也可能是 jQuery 中的一个函数。 我找不到解决我的问题的方法,将尝试在下面描述它:
我正在 php 上写网页。我有一个页面,里面有一个 form
。有一个 jQuery 函数可以将 select
元素附加到表单。附加后,用户选择一些选项并提交表单。 (我真的很想把整个代码贴在这里更清楚,但是有大量的代码不太好,所以我试着给你简化一下,抱歉有一些不好的代码)
我有一个像这样的 php 变量(select
有 onchange
事件,showUser
是一个带有 AJAX 请求的函数:
$string = <<<EOT
<select name="sapak[]" onchange='showUser(this.value, document.getElementsByName("dereje[]")[0].value)'>
EOT;
中间有很多option
,当然还有关闭</select>
(我没有把所有的代码都写得更短)。 jQuery 函数的一部分,将 select
附加到 form
:
$(wrapper).append('<div> <? echo $string; ?> <a href="#" class="remove_field">Del</a></div>');
我的问题是,在 $string
变量中我必须使用单引号和双引号,而当涉及到 jQuery 中的 append()
函数时,我再次使用引号。所有这些都在浏览器的控制台 Uncaught SyntaxError: Unexpected identifier
中给我错误,因为单引号从 append('
开始,但在 onchange='
结束。有什么聪明的解决方案吗?我以为 heredoc 会是,我已经用谷歌搜索了,我认为实际上没有 javascript 的 heredoc。可能有一些其他格式可用吗?
这应该有效:
$(wrapper).append("<div> <? echo $string; ?> </div>");
$string = <<<EOT
<select name=\"sapak[]\" onchange=\"showUser(this.value, document.getElementsByName('dereje[]')[0].value)\">
EOT;
正如@Imperative 关于字符转义的建议