任何人都可以請幫我理解如何將變量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