如何选择基于xy坐标的元素,而不是使用鼠标拖动,使用jquery?

如何选择基于XY坐标的元素而不是用jquery拖动鼠标? 在此处输入图像描述

如下所示,jQuery插件将选择(部分)位于> = x和> = y的所有元素。

(function($){ $.fn.filterXY = function(x, y){ return this.filter(function(){ var $this = $(this), offset = $this.offset(), width = $this.width(), height = $this.height(); return offset.left + width >= x && offset.top + height >= y; }); } })(jQuery); 

例子:

 $("*").filterXY(0,0); $("div").filterXY(100, 0); 

更新:插件,用于过滤x1和x2之间的所有元素

演示: http : //jsfiddle.net/yx4sN/7/

 (function($){ $.fn.inRangeX = function(x1, x2){ // Accepting selectors and DOM elements if (typeof x1 == "string" && +x1 != x1 || x1 instanceof Element) { x1 = $(x1); } if (typeof x2 == "string" && +x1 != x1 || x1 instanceof Element) { x2 = $(x2); } // Accepting jQuery objects if (x1 instanceof $) { x1 = x1.offset().left; } if (x2 instanceof $) { x2 = x2.offset().left; } x1 = +x1; x2 = +x2; // Make sure that x1 < x2 if (x1 > x2) { var x = x1; x1 = x2; x2 = x; } return this.filter(function(){ var $this = $(this), offset = $this.offset(), rightSide = $this.width() + offset.left; return offset.left >= x1 && rightSide <= x2; }); } })(jQuery);