将jQuery元素保存到var会导致元素在使用时被重新搜索吗?

And*_*ray 8 javascript jquery jquery-selectors

所以,我有一些看起来像这样的JavaScript/jQuery:

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

我一直在假设jQuery对给定的选择器进行操作,并将生成的DOM元素保存到var $foo...中,据我所知,这是真的.

但是,调用是否$foo.hide()导致jQuery重新寻找#bar元素?

Dav*_*bak 10

不,它没有,在调用$(elem)时引用.这就是使用的原因var,用于存储对元素的引用.最好的做法是存储引用,var以便下次使用代码时,使用旧引用,并且不需要再次搜索DOM.

//reference
var a = $('#id');

//use
a.hide();

//same reference, use again
a.show();
Run Code Online (Sandbox Code Playgroud)