在 jquery 中引用选择器比实际调用选择器更快吗?如果是这样,有多大区别?

2023-12-04

$(preview-button).click(...)
$(preview-button).slide(...)
$(preview-button).whatever(...)

这样做是否是更好的做法:

var preview-button = $(preview-button);
preview-button.click(...);
preview-button.click(...);
preview-button).slide(...);
preview-button.whatever(...);

为了保持代码整洁和模块化,这样做可能是更好的做法,但是它会在性能方面产生影响吗?其中一个的处理时间是否比另一个更长?多谢你们。


是的,当您使用选择器而不将其存储在变量中时,jQuery 需要每次都解析 DOM。

如果你有类似的东西$(".class")每次使用 jQuery 时都需要查找具有该类的元素,但如果它存储在变量中,它将使用变量中的唯一标识符。无需查找。

所以是的,我完全建议将其存储到变量中。

UPDATE:添加链接作为替代方案。

如果您只在一处使用选择器,您也可以这样做chaining这意味着您可以使用相同的点符号添加一个又一个方法,如下所示:

$(".class")
       .click(function(){ ... })
       .mouseenter(function(){ ... })
       .css( ... );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 jquery 中引用选择器比实际调用选择器更快吗?如果是这样,有多大区别? 的相关文章

  • 检测 jqGrid 单元格中的复选框事件

    我正在探索jqGrid在我学习 Javascript 和 jQuery 的过程中 我成功地把checkbox在网格单元中 太棒了 这是我所拥有的 myTable jqGrid colModel name cb index cb width
  • 我可以使用 jQuery 执行 $_GET 方法/查看文件的 url [重复]

    这个问题在这里已经有答案了 可能的重复 在 JavaScript 中获取查询字符串值 https stackoverflow com questions 901115 get query string values in javascrip
  • 使用javascript滚动滚动条或鼠标滚轮后触发事件

    我想知道是否可以触发事件after使用滚动条或鼠标滚轮 或在触摸设备上滑动 时滚动页面 基本上 我想检测用户何时停止滚动 以便我可以进行 AJAX 加载 而不是在滚动时加载 看起来jQuery s scroll 每次用户滚动时都会触发 并且
  • jQuery UI 对话框 - 关闭后无法打开

    我有一个问题jquery ui dialog box https jqueryui com dialog 问题是 当我关闭对话框然后单击触发它的链接时 除非刷新页面 否则它不会再次弹出 如何在不刷新实际页面的情况下回调对话框 下面是我的代码
  • 从json中获取所有子节点

    我有以下 json var source k 01 k 02 children k 05 k 06 children k ABC k PQR k 07 k 03 我希望能够指定 k 的值并取回所有孩子 以及孙
  • 更改 Jumbotron 不透明度并使其全宽,而不影响字体和按钮

    想问一下如何更改 Jumbotron 不透明度并使其全宽而不影响字体和按钮的不透明度 jumbotron special text align center background attachment scroll background i
  • 有什么方法可以取消/停止/中止 getScript 调用吗?

    所以 我一直在寻找 似乎没有一种方法可以在脚本调用完成后真正中止 取消 停止脚本调用 我发现必须使用延迟加载来解决对第三方的无响应脚本调用有点奇怪 使用 json ajax 我当然可以超时 太棒了 但对于脚本调用 就没有这样的运气了 我认为
  • 如何使用具有数据属性的 Rate Yo jQuery 星级评分插件?

    我该如何使用Rate Yo http rateyo fundoocode ninja 带有数据属性的 jQuery 星级评分插件 有没有办法通过 HTML 属性设置默认初始值 是否可以使用data rateyo score通过score v
  • 猫头鹰旋转木马无法在响应模式下工作

    我在网站上安装了猫头鹰 在桌面模式下完美运行 但在移动模式下 幻灯片似乎完全消失了 我的网站位于 ypt co il 大主滑块下方的 4 个块 首先在桌面模式下查看 这是插件代码 owl carousel owlCarousel loop
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 带有输入的动态创建行上的日期选择器

    我有一个表单可以使用输入动态创建新行 每个新行上的日期输入应该有一个日期选择器 我几乎可以正常工作 但是当创建带有输入的新行时 日期选择器将不再在已经存在的日期字段上工作 我玩了一整天来找出我做错了什么 但我就是不知道如何解决这个问题 这是
  • javascript函数知道它的名字吗

    我有一个名为 getItem 的函数 我想使用其中的代码读取该函数的名称 这可能吗 function getItem var functionName how do I read the function name alert functi
  • Jeditable 错误时异步恢复

    我一直在使用 JQuery 的 JEditable 插件 我想向插件返回错误以指示它恢复到以前的值并向用户显示错误 我使用同步 ajax 调用来完成此工作 但我更喜欢使用异步回调 我必须到目前为止的代码如下 editbox editable
  • 按日期对 JSON 进行排序

    我知道这一定相对简单 但我有一个 JSON 数据集 我想按日期排序 到目前为止 我每次都会遇到问题 现在我将日期存储为this lastUpdated 如果有帮助的话 我可以访问 jquery 但我意识到 sort 是本机 JS 提前致谢
  • 从对象获取数据 - 我看到数据但无法保存它们

    正如你所看到的 我是新来的 我确实尝试过搜索 但没有找到解决我问题的方法 所以这是我的问题 如果我这样做 console log grid data kendoGrid data 这在控制台中显示如下 所以我明白这一点 有一个数组和一个带有
  • jQuery 字符和字数统计

    这是一个非常简单的问题 jQuery 是否可以获取一个元素 计算该元素 不是文本区域或输入 中的单词数和字符数 并将其显示在 HTML 文档上 我能想到的唯一可行的代码是 document write content text length
  • jQuery Masonry 和 CSS3

    如何在保持砖石布局的同时将 CSS3 过渡与当前图像结合起来 这是我的html div img class bottom src images div
  • 'DOMException:使用'option:selected'选择器时无法在'Element'上执行'querySelectorAll'

    我正在运行一个页面 该页面在以下行中引发错误 var label select find option selected html select find option first html 为了完整起见 这里是完整的 jQuery 函数
  • 如何使用 jQuery 获取 div 完整内容的高度?

    我正在尝试创建自己的滚动条 我已经尝试了大多数 jquery 滚动条插件 但似乎没有一个适合我 所以我决定创建自己的 我有一个带有可滚动内容的溢出区域 如果我能够计算出可滚动内容区域的高度 我就可以使滚动条正常工作 我尝试过 scrollH
  • jQuery Draggable:可拖动框越过容器 - bug?

    Try this http jsfiddle net QhVNr code HTML div class draggable container div class draggable div class exp div div div C

随机推荐