在JavaScript中连接一个字符串

时间:2013-04-29 18:39:39

标签: javascript

任何人都可以帮我理解如何将变量prefix连接到我的字符串中,如下所示?

var prefix = 'q2am_utility_theme_';

$('
    #option_site_title,
    .form-text[name=\"'prefix + 'body_bg_color\"]
')

这就是我现在所拥有的,这是行不通的。我做错了什么?

5 个答案:

答案 0 :(得分:3)

看起来你错过了一个+号:

var prefix = 'q2am_utility_theme_';

$(' #option_site_title, .form-text[name="'+ prefix + 'body_bg_color"]');

答案 1 :(得分:3)

试试这个:

var prefix = 'q2am_utility_theme_';

$('#option_site_title, ' +
  '.form-text[name=\"' + prefix + 'body_bg_color\"]')

请注意+符号。在JavaScript中,+运算符可以相互添加数值,也可以将字符串值相互连接。

上面的代码创建了一个字符串:

'#option_site_title, .form-text[name="q2am_utility_theme_body_bg_color"]'

然后使用它来进行jQuery选择,使用:$(selector)

顺便说一句,您的双引号不需要\转义符,因为JavaScript允许使用单引号或双引号形成字符串,但不能与另一引号配对。

换句话说,如果你写:

'.form-text[name="' + prefix + 'body_bg_color"]'

它会正常工作,因为字符串以'开头,因此将字符串中的"字符视为文字,而不是需要转义的结束引号。如果按如下方式编写,则只需要转义字符:

".form-text[name=\"" + prefix + "body_bg_color\"]"

这仍然有效,只是难以阅读,imho。

答案 2 :(得分:2)

正如Claudio,meagar和Kevin B在评论中所说:

Jquery不会影响字符串连接 - 要在JavaScript中连接字符串,您需要取消引用 - > + - > variableName - > + - >引用 - 所以它看起来像:

var myName = 'foo';
alert('The name assigned is ' + myName + '.');
//shows up as: The name assigned is foo.

答案 3 :(得分:1)

试试这个:

$('#option_site_title, .form-text[name="' + prefix + 'body_bg_color"]')
输入前缀后

$('#option_site_title, .form-text[name="q2am_utility_theme_body_bg_color"]')

答案 4 :(得分:1)

$("#option_site_title,.form-text[name='"+prefix+"body_bg_color']")