Как ссылаться на объект jQuery внутри собственного вызова метода? - PullRequest
1 голос
/ 19 января 2012

Я пытаюсь сделать это:

$('.summary').css('top',$(this).outerHeight());

Когда я ссылаюсь на 'this', я хотел бы сослаться на экземпляр $ ('. Summary'), с которым сейчас работает jquery, посколькукратны, но область рассматривает «эту» страницу в данном случае.

Какой самый простой способ ссылаться на каждый элемент в этом случае?

Я просмотрел поиск ответа на этот вопрос., но не совсем знаю правильную формулировку.Если на этот вопрос ответили, дайте мне знать, и я могу закрыть его как дубликат.

Спасибо!

Ответы [ 3 ]

6 голосов
/ 19 января 2012

Вы можете передать функцию непосредственно в .css().

$('.summary').css('top',function() {
    return $(this).outerHeight();
});

. Она будет повторять элементы, а возвращаемые значения будут новыми значениями для 'top'.

5 голосов
/ 19 января 2012

Вы ищете .each(), я думаю.

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

РЕДАКТИРОВАТЬ: Меньше запросов.Также мне больше нравится ответ am not i am.Это немного элегантнее.

1 голос
/ 19 января 2012

Сначала вы должны определить ее как переменную, а затем ссылаться на нее в методе:

var summary = $('.summary');
summary.css('top',summary.outerHeight());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...