При большинстве вызовов функций jQuery, которые изменяют выбор, можно вернуться на шаг назад, используя end
.Например:
$('#myElement').parent().show().end().css('color', '#ff0000');
Показывает родительский элемент, а затем делает исходное выделение красным.
Однако, когда я определяю свой собственный плагин jQuery, который фильтрует выделение, я не получаюэта функциональность.Например:
$.fn.nextBarOne = function(selector) {
var ret = this.next().next();
return (typeof selector === 'undefined') ? ret : ret.filter(selector);
}
Если я сейчас сделаю $('#myElement').nextBarOne().show().end()
, я не вернусь к исходному выбору.Очевидно, это потому, что внутренне функция вызывает next
дважды, а затем иногда вызывает filter
.
Как я могу определить плагин jQuery, который позволит мне использовать end
, как это делают встроенные функции?