up
方法。虽然不完全相同,因为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()
,具体取决于你所查找的位置。