同时使用2个变量

dar*_*ryl 2 variables jquery selector

我该怎么做呢?

$(function() {

   var foo = $('#foo'),
       bar = $('#bar');

    $('body').click(function() {

        $(foo,bar).css({color: 'red'}); 

    });

});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/each/RGZ4Z/ - 只有foo变红了

编辑:我可以强调一个事实,我知道我可以很容易地做到:

$('#foo,#bar').css({color: 'red'});
Run Code Online (Sandbox Code Playgroud)

我只是询问变量的用法......

jfr*_*d00 8

也许,你想要的是这个:

foo.add(bar).css({color: 'red'});
Run Code Online (Sandbox Code Playgroud)

这是一段演示代码,展示了它是如何工作的:http://jsfiddle.net/jfriend00/3Ep6J/.

根据你的需要,我可以想到三种选择:

  1. var items = $('#foo, #bar')
  2. $('#foo, #bar').css({color: 'red'});
  3. foo.add(bar).css({color: 'red'});

并且,每个选项的更多细节:

1)您可以在开头创建一个jQuery对象,其中包含两组对象,如下所示:

var objs = $('#foo, #bar');
Run Code Online (Sandbox Code Playgroud)

然后再这样做:

objs.css({color: 'red'}); 
Run Code Online (Sandbox Code Playgroud)

2)或者只是一次完成所有操作:

$('#foo, #bar').css({color: 'red'}); 
Run Code Online (Sandbox Code Playgroud)

3)或者,如果你已经有foo和bar的单独jQuery对象,你可以将一个jQuery对象中的项添加到另一个,然后执行你的操作:

var foo = $('#foo'),
    bar = $('#bar');
Run Code Online (Sandbox Code Playgroud)

然后,这样做:

foo.add(bar).css({color: 'red'}); 
Run Code Online (Sandbox Code Playgroud)

注意:有点违反规范,选项3)不修改foojQuery对象,该add方法返回一个新的jQuery对象,其中bar添加了项目.