如何使用多个jquery对象变量作为选择器?

ing*_*939 25 jquery jquery-selectors

在jQuery中,选择多个元素可以这样做:

$("#id1,#id2").show();
Run Code Online (Sandbox Code Playgroud)

但是当我有两个jQuery对象时,我似乎无法使用变量本身选择多个.例如:

var jqId1 = $("#id1");
var jqId2 = $("#id2");
$(jqId1).show();       // This works.
$(jqId1,jqId2).show(); // This only shows jqId1.
Run Code Online (Sandbox Code Playgroud)

见jsFiddle:http://jsfiddle.net/jr9Q2/

是否有另一种方法可以将多个jq变量指定为选择器?

Den*_*ret 47

你可以使用add:

jqId1.add(jqId2).show();
Run Code Online (Sandbox Code Playgroud)

但是为了避免查询,不要让你的代码过于复杂"#id1,#id2":这个选择器依赖getElementById并且非常快.

  • `jqId1.add(jqId2)`会更快(这并不重要),在我看来比`$(jqId1.selector +','+ jqId2.selector)`更清晰. (5认同)

小智 9

您可以使用每个周期:

$([jqId1, jqId2]).each( function(){
    $(this).show();
});
Run Code Online (Sandbox Code Playgroud)

如下所述: 使用.add()选择多个jQuery对象