2008-12-18 38 views
16

Với yếu tố DOM, làm cách nào để tìm bố mẹ gần nhất với một lớp css nhất định?Tìm phụ huynh phù hợp với jQuery

$(".editButton").click(function() { 
    (magic container selector goes here).addClass("editing"); 
}); 

Tôi không muốn sử dụng nhiều hoặc $ (...). Parent(). Parent() vì tôi không muốn bị ràng buộc vào một cấu trúc mái vòm cụ thể.

Trả lời

31

này nên làm việc

$(this).parents('.classYouWant:first').addClass("editing"); 
+1

Tôi không đúng khi nghĩ rằng tất cả các hàm jquery thực sự trả về một danh sách. Nếu vậy, bạn có thể muốn làm $ (this) .parents ('. ClassYouWant: first') (thử nó!) – Jennifer

+0

@Jennifer: Bạn đúng, nếu phần tử có nhiều hơn 1 parent, nó sẽ thiết lập chỉnh sửa cho tất cả chúng. Bạn nên đăng câu trả lời. Tôi chấp nhận nó. –

+0

vì vậy: đầu tiên, trong ví dụ này, được cha mẹ gần nhất để $ (this) với .classYouWant? vì vậy làm việc nó là cách UP DOM? –

2

Bạn có thể sử dụng lựa chọn cha mẹ. ví dụ: $(".myclass:parent").something(); sẽ tìm tất cả các phần tử có lớp myclass có con.

+0

Mặc dù chính xác, nó không giải quyết các câu hỏi vì nó không tìm thấy cha mẹ cho một yếu tố dom cụ thể. –

11
$(this).closest('.yourselector') 

Như tên gọi, tìm tổ tiên gần nhất cho phần tử this.

+0

+1 Đây là sở thích của tôi, khi tôi biết tôi chỉ sau 1 yếu tố – Evildonald

Các vấn đề liên quan