将JavaScript变量与多个jQuery选择器一起使用
在使用带有单个jQuery选择器的javascript变量之前,我的问题被问到了,如下文所示 但我的问题是如何将一个变量与两个或多个选择器一起使用将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
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字符串的内部?