Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中将选择器组合为变量_Javascript_Jquery_Coding Style - Fatal编程技术网

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

Javascript 在jQuery中将选择器组合为变量,javascript,jquery,coding-style,Javascript,Jquery,Coding Style,我正在考虑组合选择器的最佳方式是什么,我在jQuery代码中将其用作变量。我总是想使用选择器作为变量,但问题是有时我想在一个语句中使用它们,所以我在想什么是最优雅的方法 我是否应该使用“添加x+y”函数?或者添加字符串?或者可以将jQuery变量保留为唯一带名称的id,这样我就可以在单个jQuery语句$ x = $('#selectorOne'); y = $('#selectorTwo'); -您可以指定任意数量的选择器组合成一个结果。这种多表达式组合器是选择不同元素的有效方法。返回的jQ

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

我是否应该使用“添加x+y”函数?或者添加字符串?或者可以将jQuery变量保留为唯一带名称的id,这样我就可以在单个jQuery语句$

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

例如:

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

-将元素添加到匹配元素集

例如:

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

您可以将它们存储在阵列中:

var selectors = [
    '#selector1',
    '#selector2',
    ....
];
当你想同时使用它们时,用逗号分隔连接

您也可以有选择地选择:

var fewjoined = [                  //select a few selectors...
    selectors[1], 
    selectors[3],
    ...
].join(',');                       //..to join
$(fewjoined).doSomethingToAll();   //and do something

如果它们被声明为变量,则可以使用add:


因为x和y只是数组,所以可以使用jQuery.merge来组合它们。HTH

非常感谢!这是解决这个问题最优雅/有效的方法吗?@Malyo其实有很多方法。这是我读这篇文章时首先想到的。另外,它会一次调用所有选择器,而不是单独调用每个选择器,然后再合并结果。好吧,我会尝试一下,让主题保持开放一段时间,也许会出现一些有趣的解决方案,感谢againI。我发现在这种情况下,使用add更有效,因为我想最小化代码,尤其是$statement,虽然使用add的方法也可以工作,但当我有一个非常复杂的函数要做时会更好。再次感谢,但是我想把$statement放在里面,所以用$statement添加$sament似乎不是一个好的解决方案嘿,谢谢你的回答虽然我知道多重选择器,但我的问题不是这样的,虽然add方法适用于我的变量情况。