2010-04-15 5 views
2

В DevDays в SF в прошлом году (до выхода jQuery 1.4), я думал, что они упоминали о предстоящей функции в 1.4, которая позволит вам ссылаться на текущий объект jQuery в цепочке. Я прочитал все улучшения 1.4 и не смог его найти. Кто-нибудь знает, как это можно сделать?Ссылка на текущий объект jQuery в цепочке?

Пример

Будучи в состоянии получить доступ к текущему объекту JQuery будет полезно при работе с методами, которые по отношению к текущему объекту, как .next():

// Current way 
var items = $(this).closest('tr'); 
items = items.add(items.next(':not([id])')); 

// Magical 1.4 way? Is there a "chain"-like object? 
var items = $(this).closest('tr') 
    .add(chain.next(':not([id])')); 

ответ

4

Я думаю это ближайший доступный, используя .andSelf():

var items = $(this).closest('tr').next(':not([id])').andSelf(); 

Это идет к .next() вызова, а затем добавляет tr обратно к нему. Все происходит в контексте того, где происходит цепочка, поэтому либо прыгайте, чтобы добавить элементы, либо сохраняя исходную ссылку, поскольку у вас есть она так же близко, как и в настоящее время. Это полезные функции для прыжков: http://api.jquery.com/category/traversing/miscellaneous-traversal/

John Resig posted this concept a while back, но, насколько мне известно, ничто не приблизилось к этому ядру jQuery. Однако вы можете использовать код, размещенный в блоге, если хотите.

+0

Спасибо за ответ. Я надеялся увидеть, что «ультра-цепной» Джон Ресиг опубликовал около 1.4, но, возможно, я запутался с легкими улучшениями сеттера. Я знал о .andSelf(), но, по-видимому, забыл об этом при написании сценария кода примера ... Еще раз спасибо! –

1

Возможно andSelf()http://api.jquery.com/andSelf/ Это возвращает предыдущий выбор, но тогда вам придется использовать: not ([id]) для всех.

Смежные вопросы