Действительно ли там кто-либо эквивалентен в Прототипе для jQuery самая близкая функция?
http://api.jquery.com/closest/
спасибо
Вы можете использовать метод вверх
. Это не совсем эквивалентно, поскольку ближайший
также учитывает текущий элемент. Поэтому вам нужно сначала протестировать выбранный элемент, чтобы увидеть, соответствует ли он вашим критериям, если нет, используйте метод up
:
jQuery:
return $('#id').closest('li');
Prototype:
var element = $('id')
return element.match('li') ? element : element.up('li');
}
Сравнение:
.closest ()
.up ()
Вы можете легко расширить Prototype, включив этот метод для всех элементов, например итак:
// Adds a closest-method (equivalent to the jQuery method) to all
// extended Prototype DOM elements
Element.addMethods({
closest: function closest (element, cssRule) {
var $element = $(element);
// Return if we don't find an element to work with.
if(!$element) {
return;
}
return $element.match(cssRule) ? $element : $element.up(cssRule);
}
});
.next ('. ClassName')
или .next ('divId ')
Есть также .previous ()
, .down ()
и .up ()
, в зависимости от того, где вы смотрите.