Trong kinh nghiệm javascript của tôi, tôi thấy đó là một nhiệm vụ rất phổ biến "tìm kiếm tổ tiên gần nhất của một phần tử với một số điều kiện (tên thẻ, lớp, ...)". Phương thức jquery của cha mẹ có thể thực hiện công việc không? Thứ tự của các yếu tố được trả về của cha mẹ() có thể dự đoán được? Là từ đầu đến cuối hay từ dưới lên trên? Hiện tại tôi sử dụng chức năng tiện ích này:nút tổ tiên gần nhất trong jQuery
function ancestor(elem, selector) {
var $elem = $(elem).parent();
while($elem.size() > 0) {
if($elem.is(selector))
return $elem;
else
$elem = $elem.parent();
}
return null;
}
Ai đó có thể cho tôi biết nếu có cách thông minh để thực hiện công việc?
Hãy coi chừng, John Resig kế hoạch thay đổi .parents() để trả về các phần tử theo thứ tự nguồn. Xem lỗi này được đệ trình bởi chính John sau khi chuỗi diễn đàn xoay quanh thứ tự phần tử bên trong các bộ sưu tập trả về: http://bugs.jquery.com/ticket/5994 –
May mắn thay, nhóm jQuery đã đóng cửa vé này với 'wontfix'. Vì vậy, .parents() nên được coi là ổn định một lần nữa. –