任何人都可以帮我理解如何将变量prefix
连接到我的字符串中,如下所示?
var prefix = 'q2am_utility_theme_';
$('
#option_site_title,
.form-text[name=\"'prefix + 'body_bg_color\"]
')
这就是我现在所拥有的,这是行不通的。我做错了什么?
答案 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']")