首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery,如何使用多个缓存元素

jQuery,如何使用多个缓存元素
EN

Stack Overflow用户
提问于 2011-12-16 04:34:32
回答 5查看 2K关注 0票数 14

对于我的项目,我使用缓存选择器来加速,并看到改进:(减少文档中的搜索)

代码语言:javascript
复制
var sel1 = $('#selector1');
var sel2 = $('#selector2');

在这种情况下,我如何使用缓存的选择器?对于ex:

代码语言:javascript
复制
$('#selector1, #selector2').fadeTo(300, 1, 'linear');

它只是用来润色我的代码

Ty :)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-16 04:37:39

您可以使用.add()将元素添加到匹配的元素集合中:

代码语言:javascript
复制
sel1.add(sel2).fadeTo(300, 1, 'linear');

.add()文档:http://api.jquery.com/add

.add()可以接收:

使用context ($('<selector>', <context>))

  • a selector
  • DOM elements
  • jQuery objects
  • 和selectors

您还可以将DOM元素数组传递给jQuery:

代码语言:javascript
复制
var one = $('#one')[0],
    two = $('#two')[0];

$([one, two]).fadeTo(300, 1, 'linear');

这是一个演示:http://jsfiddle.net/3xJzE/

更新

我创建了一个包含三种不同方法的http://jsperf.com/jquery-fadeto-once-vs-twice$([one, two]).fadeTo...(似乎使用数组选择器是最快的)

票数 17
EN

Stack Overflow用户

发布于 2011-12-16 04:37:17

你可以使用.add()方法来实现;

代码语言:javascript
复制
sel1.add(sel2).fadeTo(300, 1, 'linear');

如果在命名变量时添加$前缀,效果会更好。这样你就可以将它们与standart javascript对象区分开来。所以这样更好:

代码语言:javascript
复制
var $sel1 = $('#selector1');
var $sel2 = $('#selector2');

$sel1.add($sel2).fadeTo(300, 1, 'linear');
票数 7
EN

Stack Overflow用户

发布于 2011-12-16 04:37:21

jQuery的add

代码语言:javascript
复制
sel1.add(sel2).fadeTo(300, 1, 'linear');
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8526226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档