Is there any equivalent in Prototype for the jQuery closest function?
http://api.jquery.com/closest/
thanks
You can use the up
method. It is not quite equivalent, since closest
also considers the current element. So you would need to first test your selected element to see if it matches your criteria, if it does not, use the up
-method:
jQuery:
return $('#id').closest('li');
Prototype:
var element = $('id')
return element.match('li') ? element : element.up('li');
}
Comparison:
.closest()
.up()
You can easily extend Prototype to include this method for all elements like so:
// 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')
or .next('divId')
There is also .previous()
, .down()
and .up()
, depending on where you're looking.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With