Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在其中引用jQuery对象';您自己的方法调用?_Javascript_Jquery_Scope - Fatal编程技术网

Javascript 如何在其中引用jQuery对象';您自己的方法调用?

Javascript 如何在其中引用jQuery对象';您自己的方法调用?,javascript,jquery,scope,Javascript,Jquery,Scope,我正在尝试这样做: $('.summary').css('top',$(this).outerHeight()); 在我引用'this'的地方,我想引用jquery当前正在与之对话的$('.summary')的实例,因为有多个,但范围将此实例中的页面视为'this' 在这种情况下,引用每个元素的最简单方法是什么 我仔细地寻找了这个问题的答案,但不太知道正确的措辞。如果已经回答了,请让我知道,我可以作为副本关闭 谢谢 我想你在找 $('.summary').each(function() {

我正在尝试这样做:

$('.summary').css('top',$(this).outerHeight());
在我引用'this'的地方,我想引用jquery当前正在与之对话的$('.summary')的实例,因为有多个,但范围将此实例中的页面视为'this'

在这种情况下,引用每个元素的最简单方法是什么

我仔细地寻找了这个问题的答案,但不太知道正确的措辞。如果已经回答了,请让我知道,我可以作为副本关闭

谢谢

我想你在找

$('.summary').each(function() {
    var $this = $(this);
    $this.css('top', $this.outerHeight());
});
编辑:减少重新查询。另外,我更喜欢《我不是我》的答案。它稍微优雅一点。

我想你要找的是

$('.summary').each(function() {
    var $this = $(this);
    $this.css('top', $this.outerHeight());
});

编辑:减少重新查询。另外,我更喜欢《我不是我》的答案。它稍微优雅一些。

您应该首先将其定义为变量,然后可以在方法中引用它:

var summary = $('.summary');
summary.css('top',summary.outerHeight());

您应该首先将其定义为变量,然后可以在方法中引用它:

var summary = $('.summary');
summary.css('top',summary.outerHeight());

您可以将函数直接传递到
.css()


它将迭代元素,返回值将是
'top'

的新值。您可以将函数直接传递到
.css()


它将迭代元素,返回值将是
'top'

的新值猜测您对声明变量的想法感到非常抵触?猜测您对声明变量的想法感到非常抵触?因为这是一个类,可能代表多个元素,这是不可靠的。因为这是一个类,可能代表多个元素多元素这将是不可靠的。您正在重新查询您已有的内容。您应该存储对第一个查询的引用,并在以后使用它。如果你这样做的话,那么你就会得到劳森·库尔茨的答案的一个不必要的长版本。非常感谢。FWIW,省略顶部属性上的单位是有效的,但我相信你的方法是最佳实践。你正在重新查询你已经拥有的。您应该存储对第一个查询的引用,并在以后使用它。如果你这样做的话,那么你就会得到劳森·库尔茨的答案的一个不必要的长版本。非常感谢。FWIW,省略顶部属性上的单位是有效的,但我相信你的方法是最好的做法。