是否可以在jQuery中使用多个变量而不是选择器

前端之家收集整理的这篇文章主要介绍了是否可以在jQuery中使用多个变量而不是选择器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道执行以下操作更快:
var $header = $("#header");
$header.css({color:"#ff0000"});
$header.find("a").addClass("foo");

代替:

$("#header").css({color:"#ff0000"});
$("#header a").addClass("foo");

因为jQuery不需要在DOM中再次找到元素,因为我们直接引用它们。

让我们说,我有这个:

var $header_elements = $("#header li");
var $footer_elements = $("#footer li");

和我单独使用两个jQuery操纵。但是,然后,我需要做两件事情。使用选择器,我会这样做:

$("#header li,#footer li").css({color:"#ff0000"});

但是,然后,DOM需要再次解析以找到匹配的元素。有没有办法使用我以前声明的变量,而不是一个新的选择器?像下面这样的东西(这不工作,我知道,这是给我一个想法我在找什么):

$($header_elements + $footer_elements).css({color:"#ff0000"});

我认为选择器返回某种数组或对象。我正在寻找的是合并这些的一种方式。任何人知道这是否可能和如何做到吗?

谢谢你的帮助!

解决方法

只需使用 add方法
$header_elements.add($footer_elements).css({color:'#ff0000'});

Given a jQuery object that represents a set of DOM elements,the .add() method constructs a new jQuery object from the union of those elements and the ones passed into the method. The argument to .add() can be pretty much anything that $() accepts,including a jQuery selector expression,references to DOM elements,or an HTML snippet.

猜你在找的jQuery相关文章