如果我有2个div(z索引没有分配),一个分层覆盖,我可以使用顶部div的引用来找到它下面的div吗?
就DOM结构而言,这两个div将是兄弟姐妹.但在视觉上它们彼此堆叠在一起.
这是一个例子:
<body> <div id="Box1" style="background:#e0e0e0;height:100px;width:100px;"></div> <div id="Box2" style="background:#000000;height:100px;width:100px;margin-top:-50px;"></div> </body>
结果如下:
所以我想弄清楚,当有黑色div,Box2,一种在jquery中返回Box1的方法(使用选择器),因为Box1在Box2下面,使用jquery.
解决方法
检查Box1是否与页面上的某个位置共享相同的位置.
只是因为我有点无聊,我做了这个真棒
http://jsfiddle.net/hunter/PBAb6/
function GetAllElementsAt(x,y) { var $elements = $("body *").map(function() { var $this = $(this); var offset = $this.offset(); var l = offset.left; var t = offset.top; var h = $this.height(); var w = $this.width(); var maxx = l + w; var maxy = t + h; return (y <= maxy && y >= t) && (x <= maxx && x >= l) ? $this : null; }); return $elements; }