我正在尝试这样做:
$('.summary').css('top',$(this).outerHeight());
在我引用'this'的地方,我想引用jquery当前正在讨论的$('。summary')实例,因为有多个,但是范围在这个实例中将'this'视为页面。 / p>
在这种情况下引用每个元素最简单的方法是什么?
我仔细研究了这个问题的答案,但不太清楚正确的措辞。如果这个问题已经得到解答,请告诉我,我可以将其作为副本关闭。
谢谢!
答案 0 :(得分:6)
您可以将功能直接传递给.css()
。
$('.summary').css('top',function() {
return $(this).outerHeight();
});
它会迭代元素,返回值将是'top'
的新值。
答案 1 :(得分:5)
我想你正在寻找.each()
。
$('.summary').each(function() {
var $this = $(this);
$this.css('top', $this.outerHeight());
});
编辑:减少重新查询。另外,我更喜欢am not i am
的回答。它稍微优雅一点。
答案 2 :(得分:1)
您应首先将其定义为变量,然后您可以在方法中引用它:
var summary = $('.summary');
summary.css('top',summary.outerHeight());