jquery - 使用 jQuery 声明包含事件节点列表的变量

标签 jquery jquery-selectors

我在代码开头通过以下方式声明一个包含 jQuery 对象的变量:$current = $('.current')。问题是我的类 current 节点频繁更改。

这里是an exemple

有没有办法在脚本开头声明选择器并使其更加动态。

最佳答案

不,当您从 DOM 添加/删除与其选择器匹配的项时,没有办法声明始终保持最新的 jQuery 变量。这不是 jQuery 所具有的功能。

还有许多其他方法可以解决动态创建元素的问题。例如,document.getElementsByClassName() 返回一个实时 NodeList,该节点列表会随着文档的更改而保持最新。当然,您始终可以在使用任意给定时间对文档中内容进行新查询之前刷新 jQuery 变量。这是对用户触发的任何操作的通常建议,因为刷新查询对于用户来说非常快,并且保证在操作发生时是准确的,并且不存在由于悬空引用而导致内存泄漏的风险。

一般来说,如果动态创建/删除其中的对象,则将 jQuery 变量保留一段时间并不是一个好主意,因为将对它们的引用保留在 jQuery 变量中会阻止垃圾收集器清理内存旧对象(例如内存泄漏),直到 jQuery 变量本身被删除。

关于jquery - 使用 jQuery 声明包含事件节点列表的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736345/

相关文章:

jquery - 使用 jquery 的 IE8 的复选框问题

javascript - 如何从 HTML 数据属性获取数据到数组中?

javascript - 从 ajax 响应中选择文本并在用户单击项目时显示在输入字段中

javascript - 如何向元素添加#hash clicking

jquery 在元素之间包裹内容

jquery - 如何使高度上升(向上滑动)并使内容显示出来?

javascript - jquery 在克隆选择列表后删除/添加选择选项

jQuery 选择的名称

jquery - 点击查找div id