Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用'';在另一个'';陈述_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用'';在另一个'';陈述

Javascript 如何使用'';在另一个'';陈述,javascript,jquery,Javascript,Jquery,我有个问题 我正在使用一个调用HTML元素的javascript,现在我想添加另一个也使用javascript的元素,但我不知道如何组合它们。 这是第一个: list_options+='<li><input type="checkbox" value="Fuction 1 [first]" name="html_options[]" class="check-opt" data="1">Function 1 <span>[first]</span<

我有个问题

我正在使用一个调用HTML元素的javascript,现在我想添加另一个也使用javascript的元素,但我不知道如何组合它们。 这是第一个:

list_options+='<li><input type="checkbox" value="Fuction 1 [first]" name="html_options[]" class="check-opt" data="1">Function 1 <span>[first]</span</li>';
<p>Coockie warning, <a onmouseover="nhpup.popup(' Coockie stuff text ');" style="cursor:pointer;" > read more </a>!</p>

我该怎么办?

您可以用反斜杠
\
字符转义单引号。

首先:当我引用字符串文字时,我指的是创建字符串原语,如下所示。有两种类型的字符串,基本体和对象。字符串对象的创建类似于
新字符串(..)

在javascript中,字符串文字是用引号或双引号创建的。这意味着您可以定义一个字符串,如

str = 'a string'

单引号 但是,假设您用引号定义字符串,如第一个示例,并在其中添加了单词“can't”。现在定义如下所示

str = 'this can't work'
这将导致错误,因为实际字符串被认为是
“This can”
。如果我们想在用引号定义的字符串文本中使用引号,我们必须转义这些字符,并在它们前面加转义字符
\
。(注意:正如Felix在注释中指出的那样,这个转义字符不会显示在最后一个字符串中,甚至不会显示在最后一个字符串中,下面将对其进行更详细的解释)

要使字符串实际工作并打印出“这不能工作”,这意味着我们必须执行以下操作:

str = 'this can\'t not work'
双引号 如果我们用双引号定义字符串,如第二个示例,我们可以在字符串中添加引号,而无需转义,因此以下操作有效:

str = "this can't not work"
现在,假设我们想在字符串中加一个引号。我们可以使用单引号或双引号。如果在使用双引号定义的字符串文字中使用双引号,则必须对这些字符进行转义,就像在使用单引号定义的字符串文字中使用单引号一样,如下所示:

str = "he said \"foo bar baz\""
str = 'he said "foo bar baz"'
var someValue = true;
var str = 'hey some value is ' + someValue + '.'
如果在单引号中定义字符串文字,则不需要在该字符串中转义双引号,如下所示:

str = "he said \"foo bar baz\""
str = 'he said "foo bar baz"'
var someValue = true;
var str = 'hey some value is ' + someValue + '.'
以编程方式创建字符串 假设我们有一个变量可以是
true
false
,我们想告诉用户。为此,我们可以创建一个字符串变量,并直接向其中添加值,如下所示:

str = "he said \"foo bar baz\""
str = 'he said "foo bar baz"'
var someValue = true;
var str = 'hey some value is ' + someValue + '.'
您可以向字符串中添加任意数量的内容

原始问题 似乎您想在字符串
列表\u选项中嵌入一些变量。要执行此操作,请尝试以下操作:

list_options+='<li><input type="checkbox" value="Function 1 [1$]" name="html_options[]" class="check-opt" data="1">Function 1 <span>[1$]</span><p><a onmouseover="nhpup.popup(' + SOME_VARIABLE_YOU_WANT_TO_DISPLAY + ');" style="cursor:pointer;" > ? </a>!</p></li>';

list\u options+='
  • 函数1[1$]添加反斜杠将跳过引号:
    'My quote's quote'
    @JesseKernaghan谢谢。)希望您会发现,在JS中创建HTML不是一种非常易于维护的方法。@FelixKling是的,我知道,但我需要在不刷新整个页面的情况下对一些HTML字段进行dinamic更新。没问题。您可以动态创建DOM元素或使用模板。了解有关DOM的更多信息:。特别是对于jQuery,这变得非常简单:“字符串文字是字符串对象定义”,我认为这会让人困惑。字符串文字创建与字符串对象(即
    新字符串(…)
    )非常不同的基本值。“此转义字符不显示在最后一个字符串中,下面将对其进行更详细的解释”您在哪里详细解释?FWIW,转义字符甚至不包含在字符串中(也许这就是你的意思?)。这不是价值的一部分。这纯粹是解析器区别对待以下字符的一个指标。我在写答案时没有时间了,我需要编辑正确的信息,以及关于转义字符的信息。你的两点是对的,我应该在中编辑它。:)