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

时间:2014-04-04 20:58:12

标签: javascript jquery

我看到很多jQuery示例都像

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

而不仅仅是输入

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

我确实知道如果你正在使用,可以节省一点点打字     $元素 很多,但那个时代呢     $元素 只被叫一次或两次?为什么有些开发人员在这些实例中将其声明为jQuery对象变量?浏览器处理它也更有效吗?

2 个答案:

答案 0 :(得分:9)

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

例如在点击事件中

$('.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');
});

显然有更多的深度示例,但这两个是存储变量的主要情况。

答案 1 :(得分:-3)

它可以防止覆盖另一个脚本的变量