javascript - 为什么要创建 jQuery 对象变量?

标签 javascript jquery

我看到很多 jQuery 示例都执行类似的操作

var $element = $('#element');
$element.foo...

而不仅仅是打字

$('#element').foo...

我确实意识到,如果您使用的是 $元素 很多,但是那些时候呢? $元素 只被调用一次或两次?为什么一些开发人员在这些实例中将其声明为 jQuery 对象变量?浏览器的处理效率是否也更高?

最佳答案

通常这样做是为了避免重新包装元素或重新查询页面的选择器。

例如在点击事件中

$('.className').click(function(){
 var $this = $(this);
 callSomeHelper($this);
 $this.hide();
 if( $this.data("placement") == "somePlacement" ){
  //some logic
 }
});

真正的保护者是当它引用一组元素时。

var $allSides = $('.side');

现在回到点击事件,您可以引用它而无需重新查询

$('.top').click(function(){
   var door = $allSides.find(':visible');
});

显然还有更深入的例子,但这两种是变量存储的主要情况。

关于javascript - 为什么要创建 jQuery 对象变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22872883/

相关文章:

jQuery-File-Upload 插件 - 无法删除文件夹

javascript - 如何从下拉元素中查找并清除所有选定的值

javascript - window.open 不会在同一窗口中再次打开

javascript - 在浏览器中使用javascript按类设置html输入元素的值?

javascript - iojs/electron - 将控制台中的所有内容输出到文件

javascript - 为禁用的 Twitter Bootstrap 表设置样式 单击表中包含的选项

javascript - 制作一个 anchor 切换功能,单击时将数据附加到文本区域,重新单击时删除

jquery - 导航到新页面/操作方法时的 MVC 3 Ajax 加载图标

jquery - 以编程方式 'unselect' 一个 jQuery UI 可选择的小部件

javascript - Lodash 过滤嵌套对象