我有一个问题。
我正在使用调用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>
所以,现在如果我想将这样的结合起来,它就不会起到文档中''
的作用:
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(' TEXT THAT SHOULD GET DISPLAYED ');" style="cursor:pointer;" > ? </a>!</p></li>';
我该怎么办?
答案 0 :(得分:1)
您可以使用反斜杠\
字符转义单引号。
答案 1 :(得分:0)
首先关闭:当我引用字符串文字时,我指的是字符串基元的创建,如下所示。有两种类型的字符串,基元和对象。字符串对象的创建方式类似于new String(..)
。
在javascript中,使用引号或双引号创建字符串文字。这意味着您可以定义类似
的字符串str = 'a string'
或
str = "a string"
但是你说你用引号定义你的字符串,就像第一个例子一样,然后你把单词&#34; can&#39; t&#34;在里面。现在定义如下所示。
str = 'this can't work'
这会导致错误,因为实际字符串被视为'this can'
。如果我们想在用引号定义的字符串文字中使用引号,我们必须转义这些字符,并在它们之前使用转义字符\
。 (注意:这个转义字符不会显示在最终字符串中,甚至不会显示在其中,正如Felix在评论中指出的那样,并在下面详细说明)
要让字符串实际工作并打印'this can't work'
,这意味着我们必须执行以下操作:
str = 'this can\'t not work'
如果我们用双引号定义你的字符串,就像第二个例子一样,我们可以在其中加上引号而不必转义它,所以以下工作:
str = "this can't not work"
现在,我们想把一个引号放入字符串中。我们可以使用单引号或双引号。如果我们在用双引号定义的字符串文字中使用双引号,我们将不得不转义那些字符,就像我们在用单引号定义的字符串文字中使用单引号一样,如下所示:
str = "he said \"foo bar baz\""
如果您在单个引号中定义字符串文字,则不需要在该字符串中转义双引号,如下所示:
str = 'he said "foo bar baz"'
假设我们有一个可以是true
或false
的变量,我们想告诉用户。为此,我们可以创建一个字符串变量,并将值直接添加到其中,如下所示:
var someValue = true;
var str = 'hey some value is ' + someValue + '.'
您可以根据需要添加到字符串中。
您似乎希望在字符串list_options
中嵌入一些变量。为此,请尝试以下操作:
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_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(\' TEXT THAT SHOULD GET DISPLAYED \');" style="cursor:pointer;" > ? </a>!</p></li>';
这使用双引号:
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(" TEXT THAT SHOULD GET DISPLAYED ");" style="cursor:pointer;" > ? </a>!</p></li>';
因此,在定义字符串时需要学习使用转义字符,因为字符串中的某些字符可能会破坏字符串的创建。此外,还有一些特殊字符可以在字符串中执行您可能需要的操作,例如新行(使用\ n)或制表符(使用\ t)。如果您想了解有关这些字符的更多信息,只需google&#39; javascript转义字符&#39;或者,MDN在此处提供了很好的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String