答案 0 :(得分:29)
您可以使用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);
}
});
答案 1 :(得分:2)
.next('.className')
或.next('divId')
还有.previous()
,.down()
和.up()
,具体取决于您所查看的位置。