javascript - 将 jQuery 元素存储在变量中更有效吗?

标签 javascript jquery

请问哪个效率更高?

var myElement = $("#the-name-of-my-element")

myElement.doSomethingOnce;
myElement.doSomethingTwice;
...
myElement.doSomethingTenTimes;

$("#the-name-of-my-element").doSomethingOnce;
$("#the-name-of-my-element").doSomethingTwice;
...
$("#the-name-of-my-element").doSomethingTenTimes;

我有一个页面,其中 html 元素有很多变化,有时会与 JS 重复交互,所以我想知道将元素存储在变量中是否可以防止多个 jQuery“查询”。

因为我的项目是一个网络应用程序,所以我很想为浏览器调整我能做的事情。

最佳答案

缓存节点始终是一个好习惯。 JS 引擎为定位节点而必须做的工作量比您将用于存储节点的内存更昂贵(当然除非您正在存储大量的 DOM 树或其他东西)。

所以获胜者是:

var myElement = $("#the-name-of-my-element")

myElement.doSomethingOnce;
myElement.doSomethingTwice;
...
myElement.doSomethingTenTimes;

关于javascript - 将 jQuery 元素存储在变量中更有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37537464/

相关文章:

javascript - Uncaught Error : cannot call methods on resizable prior to initialization; attempted to call method 'option'

javascript - 当您输入列表时,如何在过滤器中以粗体输入字符的每个实例?

javascript - 来自 json 文件的数据,用于 CHAPS 时间线

javascript - 如何在不从图例中删除饼图的情况下在 HighCharts 中隐藏饼图的切片?

javascript - Ajax 获取 HTML 值

javascript - jquery一键将文本转为URL

javascript - 如何调用 iFrame 按钮的窗口 onunload 事件单击父页面和 iFrame 位于不同域的位置

javascript - 正则表达式 - 在第二次出现的字符之间匹配字符串

javascript - jQuery 动画图像 : left and right with a flip/rotation effect

javascript - 如何将数据从内容脚本传递到页面级?