任何人都可以请帮我理解如何将变量prefix
连接到我的字符串中,如下所示?在JavaScript中连接字符串
var prefix = 'q2am_utility_theme_';
$('
#option_site_title,
.form-text[name=\"'prefix + 'body_bg_color\"]
')
这是我目前所拥有的,这是行不通的。我究竟做错了什么?
任何人都可以请帮我理解如何将变量prefix
连接到我的字符串中,如下所示?在JavaScript中连接字符串
var prefix = 'q2am_utility_theme_';
$('
#option_site_title,
.form-text[name=\"'prefix + 'body_bg_color\"]
')
这是我目前所拥有的,这是行不通的。我究竟做错了什么?
试试这个:
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\"]"
这仍然是有效的,只是更难以阅读,恕我直言。
你好像缺少一个+号:
var prefix = 'q2am_utility_theme_';
$(' #option_site_title, .form-text[name="'+ prefix + 'body_bg_color"]');
试试这个:
$('#option_site_title, .form-text[name="' + prefix + 'body_bg_color"]')
把前缀之后,您有:
$('#option_site_title, .form-text[name="q2am_utility_theme_body_bg_color"]')
$("#option_site_title,.form-text[name='"+prefix+"body_bg_color']")
克劳迪奥,meagar和Kevin B在评论中正确地陈述了:
Jquery的,不影响字符串连接 - 来连接在JavaScript字符串,则需要解除引用 - > + - > VARIABLENAME - > + - >报价 - 所以它看起来像:
var myName = 'foo';
alert('The name assigned is ' + myName + '.');
//shows up as: The name assigned is foo.
你需要在'prefix'前加'+' – 2013-04-29 18:40:57
字符串连接与jQuery无关。 – meagar 2013-04-29 18:41:30
请注意,这与jQuery无关,除了字符串被传递给jQuery。缺少的'+'不是你的字符串唯一的错误。 – 2013-04-29 18:42:00