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,省略顶部属性上的单位是有效的,但我相信你的方法是最好的做法。