在jQuery中将选择器组合为变量

Combining selectors as variables in jQuery

本文关键字:组合 变量 选择器 jQuery      更新时间:2023-09-26

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

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

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

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

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

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

x.add(y).something();

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

例:

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

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

例:

$("p").add("div").addClass("widget");

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