Javascript: equivalencia de método ‘closest’ de Jquery en Prototype

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');

Visto en Stackoverflow (enlace externo, en inglés).