将JavaScript变量与多个jQuery选择器一起使用

将JavaScript变量与多个jQuery选择器一起使用,javascript,jquery,Javascript,Jquery,在使用带有单个jQuery选择器的javascript变量之前,我的问题被问到了,如下文所示 但我的问题是如何将一个变量与两个或多个选择器一起使用 var itemId = $(this).closest('li').attr('id'); 这是一个选择器 var contentType = $('#' + itemId + ' .content-type'); 但是当我在一行中有两个选择器时,如何使用itemId,如下所示 var contentType = $('.content-ty

在使用带有单个jQuery选择器的javascript变量之前,我的问题被问到了,如下文所示

但我的问题是如何将一个变量与两个或多个选择器一起使用

var itemId = $(this).closest('li').attr('id');
这是一个选择器

var contentType = $('#' + itemId + ' .content-type');
但是当我在一行中有两个选择器时,如何使用
itemId
,如下所示

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

您可以根据需要手动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}只是一个虚构的占位符字符串。我认为这更具可读性。不管怎么说,你的问题在这个问题上有点奇怪

“一个或多个选择器”


合乎逻辑地分开。可能您需要更改代码流/实现技术,以实现您想要实现的任何目标。

您可以使用相同的方法,在两个选择器之间添加一个

截至,您正在执行以下操作:

var contentType = $('#' + itemId + ' .content-type');
对于2个元素,使用

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

请尝试:
var contentType=$('#'+itemId+'.content-type1','#'+itemId+'.content-type2')这不起作用,因为
必须位于第一个选择器序列内。我无法编辑。但是你从我的编辑器中得到了一个语法错误,不应该是,在te字符串的内部?