2017-08-09 102 views
-3

我的問題是在使用javascript變量之前詢問的,因爲在下面的這篇文章中使用了jQuery選擇器Single在多個jQuery選擇器中使用JavaScript變量

How to use javascript variables in jquery selectors

但我的問題是如何用一個變量有兩個或更多的選擇?

var itemId = $(this).closest('li').attr('id'); 

這是一個選擇

var contentType = $('#' + itemId + ' .content-type'); 

但如何使用itemId當我有兩個選擇一排像下面

var contentType = $('.content-type1, .content-type2'); 
+2

嘗試:'VAR的contentType = $( '#' +的itemId +'.content- type1','#'+ itemId +'.content-type2');' – tech2017

+0

這是行不通的,因爲','必須在第一個選擇器 –

+0

裏面。我無法編輯。但你有想法 – tech2017

回答

1

您可以通過在2個選擇器之間添加,來達到同樣的效果。

作爲,你正在做的:

var contentType = $('#' + itemId + ' .content-type'); 

爲2元,您可以使用,

var contentType = $('#' + itemId + ' .content-type1, #' + itemId + ' .content-type2'); 
+0

我從我的編輯器得到一個語法錯誤,不應該是te字符串中的? – Doomenik

+0

是的,你是對的。我更新了我的代碼。 –

+0

謝謝你的工作 –

0

可以手動Concat的,因爲你需要儘可能多但也許你可以做一個選擇器準備下面的方式,所以你可以輕鬆地追加變量的n倍:

var itemId = $(this).closest('li').attr('id'); 
var selector = '#{i}.content-type1, #{i}.content-type2, #{i}.content-type3'; // you can extend this as much as you like or even add a loop to construct content types 
var finalSelector = selector.split('{i}').join(itemId); // doing the replace 
var contentType = $(finalSelector); 

其中{i}只是一個虛構的佔位符字符串。我認爲這樣更具可讀性。反正你的問題是有點怪,當涉及到

「或以上的選擇」

部分邏輯。也許你需要改變你的代碼流/實現技術,無論你想實現什麼。