当前位置: 代码迷 >> JavaScript >> 缓存选择器如何在后台运行
  详细解决方案

缓存选择器如何在后台运行

热度:54   发布时间:2023-06-05 14:12:08.0

这是一个非常普遍的问题。
方法是:

$el.siblings(".class"); 

更好的实践比

$("#id") 

$ el之前已经使用过,因此已经存储在变量中时,如何访问元素?

由于某些原因,我对此不太确定:

  • id显然非常快;
  • 我不完全确定在缓存原始元素时是否需要遍历DOM以获取同级元素。

跟随这个问题,我想知道当缓存选择器时jQuery如何保持对内部DOM节点的引用(例如$el = $("#el"); )。 尽管我知道语法,但是我不确定幕后到底会发生什么(即,如何在JS中对引用进行编程)。

对此有任何正式确认吗?

在幕后,jQuery仅引用了DOM元素。 每次您这样做:

$("#el")

jQuery必须解析选择器以确定它正在寻找ID,然后调用document.getElementById("el") 。 它将结果保存在jQuery对象中。 如果您这样做:

$el = $("#el");

然后从那时起使用$el ,它不必进行任何解析,也不必调用getElementById()来查找元素。 所有jQuery方法都可以简单地使用包含已保存的DOM元素的实例变量。

  相关解决方案