En Prototype no hay equivalencia al método closest()
de Jquery (enlace externo, en inglés), pero hay algunas formas de suplirlo.
Ejemplo de closest()
en el que se selecciona el elemento LI
ascendiente más próximo:
$('#id').closest('li');
La primera alternativa sería utilizar una función como la siguiente:
closest($('#id'));
function closest (elemento) {
return elemento.match('li') ? elemento : elemento.up('li');
}
O crear un método para utilizarlo como en Jquery:
Element.addMethods({
closest: function closest (element, cssRule) {
var $element = $(element);
if(!$element) {return;} // Por si no existiera el elemento
return $element.match(cssRule) ? $element : $element.up(cssRule);
}
});
Y se utilizaría del siguiente modo:
Element.closest($(#id),'li');