在jQuery多选择器中一起使用变量和元素

时间:2013-06-17 20:24:56

标签: jquery-selectors multiple-select

所以......我正在尝试缩减一些JS代码,我有类似的东西......

$('#element-A'+idx).hide();
$('#element-R'+idx).hide();
$('#element-Z'+idx).hide();

有没有一种可靠的方法可以将这些内容粉碎成一个声明而不会影响性能?

我试过了:

$('#element-A'+idx,'#element-R'+idx,'#element-Z'+idx).hide();

...但这只是给了我一个错误,这实际上是我认为会发生的。

我也尝试过:

$(['#element-A'+idx,'#element-R'+idx,'#element-Z'+idx]).hide();

...但我也有错误。

我能想到的另一个可能性是:

$('#element-A'+idx).add('#element-R'+idx).add('#element-Z'+idx).hide();

但这不会创建一个新对象,实际上会占用更多内存吗?

我该怎么办?或者我最好将它们作为单独的命令留下来?

2 个答案:

答案 0 :(得分:1)

您需要传递一个选择器字符串:

$('#element-A'+idx + ', #element-R'+idx + ', #element-Z'+idx).hide();

或者,更好的是,为所有元素添加一个公共类,而只是使用它。

答案 1 :(得分:1)

你的逗号需要在引号内:

$('#element-A'+idx,'#element-R'+idx,'#element-Z'+idx).hide();

应该是

$('#element-A' + idx + ', #element-R' + idx + ', #element-Z' + idx).hide();