2010-10-15 45 views
45

Có phương pháp nào trong jQuery để chọn một phần tử ở vị trí cụ thể không?Sử dụng jQuery để tìm một phần tử tại một vị trí cụ thể?

Ví dụ: tôi có thể chọn phần tử nằm ở bên trái: 100 và trên cùng: 300 ở vị trí tuyệt đối không?

Thật tuyệt nếu tôi có thể chọn một phần tử nằm trong một dải vị trí, ví dụ: chọn phần tử nằm ở bên trái: 100 - 150 px trên 200 - 280px.

+0

tại sao bạn cần điều đó? có thể nếu bạn vượt qua phần tử cha có vị trí: tương đối, nhưng vẫn còn lý do tại sao? nó sẽ deffinetly được làm chậm và tôi thực sự không nghĩ rằng bạn không có giải pháp khác cho điều này – Claudiu

+0

Điều này về cơ bản giống như câu hỏi này: http://stackoverflow.com/questions/1280660/given-an-xy-coordinate -i-cần-để-tìm-tất cả-html-phần tử-bên dưới-nó –

+0

Anderson, cái đó không chỉ định jQuery. Điều này có: http://stackoverflow.com/questions/2664227/find-element-at-an-absolute-position?rq=1 –

Trả lời

76

Bạn đang tìm kiếm phương thức JavaScript/DOM .elementFromPoint().

var elem = document.elementFromPoint(100, 100) // x, y 

Đó trả về một DOM node, trong đó tất nhiên sau đó có thể được gói gọn trong một đối tượng jQuery:

$(elem).remove(); // for instance 

tôi không phải là nhận thức về khả năng tương thích qua trình duyệt và tôi muốn một số kẻ người biết tốt hơn để chỉnh sửa bài đăng này hoặc viết nhận xét về bài đăng đó.

tham khảo: .elementFromPoint()

Ví dụ Link: http://www.jsfiddle.net/YjC6y/22/

+4

Wow! Không bao giờ biết điều đó. Excelent !! Học điều mới mỗi ngày. –

+0

Cảm ơn nhưng điều này không hoạt động trong IE6 –

+1

@Thomas: điều đó là khá tốt. – jAndy

7

Miễn là bạn biết chính xác tọa độ tương đối so với tài liệu:

function getElsAt(top, left){ 
    return $("body") 
       .find("*") 
       .filter(function() { 
          return $(this).offset().top == top 
            && $(this).offset().left == left; 
       }); 
} 

Câu trả lời khác dừng lại ở lớp phủ đầu tiên.

+0

thêm ': visible' vào bộ chọn trong' .find ("*") 'có thể hữu ích trong một số ứng dụng – Mike

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