Có tương đương với Prototype cho hàm gần nhất của jQuery không?Nguyên mẫu tương đương với hàm gần nhất của jQuery
http://api.jquery.com/closest/
nhờ
Có tương đương với Prototype cho hàm gần nhất của jQuery không?Nguyên mẫu tương đương với hàm gần nhất của jQuery
http://api.jquery.com/closest/
nhờ
Bạn có thể sử dụng phương thức up
. Nó không hoàn toàn tương đương, vì closest
cũng xem xét phần tử hiện tại. Vì vậy, bạn sẽ cần phải đầu tiên thử nghiệm thành phần được chọn của bạn để xem nếu nó phù hợp với tiêu chí của bạn, nếu không, sử dụng up
-method:
jQuery:
return $('#id').closest('li');
Prototype:
var element = $('id')
return element.match('li') ? element : element.up('li');
}
So sánh:
.closest()
.up()
Bạn có thể dễ dàng mở rộng Nguyên mẫu để bao gồm phương pháp này cho tất cả các thành phần như sau:
// 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')
hoặc .next('divId')
Ngoài ra còn có .previous()
, .down()
và .up()
, tùy thuộc vào nơi bạn đang tìm kiếm.