我在代码开头通过以下方式声明一个包含 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/