0

我正在考虑组合选择器的最佳方式,我在 jQuery 代码中将其用作变量。我想始终将选择器用作变量,但问题是有时我想在一个语句中使用它们,所以我在想最优雅的方法是什么。

我应该使用 add ( (x+y).function... ) 吗?或者也许添加字符串?或者也许将 jQuery 变量保留为仅带有名称的 id,以便我可以在单个 jQuery 语句中组合($ 即)

x = $('#selectorOne');
y = $('#selectorTwo');
4

4 回答 4

5

您可以将它们存储在数组中:

var selectors = [
    '#selector1',
    '#selector2',
    ....
];

当你想一起使用它们时,用逗号分隔join()

var alljoined = selectors.join(','); //join ALL selectors
$(alljoined).doSomethingToAll();     //and do something to all

您也可以选择性地选择:

var fewjoined = [                  //select a few selectors...
    selectors[1], 
    selectors[3],
    ...
].join(',');                       //..to join
$(fewjoined).doSomethingToAll();   //and do something
于 2012-05-10T07:22:28.153 回答
4

如果它们被声明为变量,您可以使用add()

x.add(y).something();
于 2012-05-10T07:23:10.103 回答
1

多个选择器(“selector1,selector2,selectorN”) -您可以指定任意数量的选择器组合成一个结果。这种多表达式组合器是选择不同元素的有效方法。返回的 jQuery 对象中的 DOM 元素的顺序可能不相同,因为它们将按文档顺序排列。

例子 :

$("div,span,p.myClass").css("border","3px solid red");

或者

.add() - 将元素添加到匹配元素的集合中。

例子 :

$("p").add("div").addClass("widget");
于 2012-05-10T07:22:22.783 回答
0

由于 x 和 y 只是数组,因此可以使用 jQuery.merge 来组合它们。高温高压

于 2012-05-10T07:23:58.180 回答