Javascript 如何根据图元的位置选择图元?
如何根据图元的位置选择图元Javascript 如何根据图元的位置选择图元?,javascript,jquery,Javascript,Jquery,如何根据图元的位置选择图元 <div id="parent"> <p id="text">This is a text</p> </div> 现在使用left=100px,top=100px如何使用JQuery选择div元素?您可以循环检查每个元素以检查位置。下面是一个快速示例函数: function getElementsByPosition(x,y) { var elements=new Array(); $('*').eac
<div id="parent">
<p id="text">This is a text</p>
</div>
现在使用left=100px,top=100px如何使用JQuery选择div元素?您可以循环检查每个元素以检查位置。下面是一个快速示例函数:
function getElementsByPosition(x,y) {
var elements=new Array();
$('*').each(function() {
if($(this).css('top')==x && $(this.css('left'))==y) {
elements[elements.length]=this;
}
});
return elements;
}
更新:Domenic的解决方案更加优雅。请在使用My之前考虑他。 < p> jQuery <代码> CSS()>代码>函数允许您检索CSS属性的值,例如<代码> CSS(“左边”)< /C> >将返回元素的左侧位置。
但是,在您的问题中,您需要考虑根据div元素的位置选择它。我想你的意思大概是
$('left=100px')
。这是不可能的。jQuery使用CSS选择器来查询结构,而不是DOM的样式。类似的方法可能会奏效:
var el = document.elementFromPoint(100, 100);
var $el = $(el); // if you really want to use jQuery.
文件
这可能不是您要寻找的:它将只获取该点处可见的最上面的元素,并且它将获取占用该空间的任何元素,而不仅仅是左上角位于该点的元素。但是,很有可能,这会有所帮助:)
,虽然您可以使用Safari 4或Opera 10.10获得奇怪的结果。我不是jQuery忍者,但我记得一些关于自定义选择器的信息。。。这可能是使之成为可能的一种方法。您是否尝试根据元素的顶部和左侧值查找元素?换句话说,您想找到top=100和left=100的所有div元素吗?谢谢您的夸奖:)。但是他们做的事情不同。。。这将取决于OP所寻找的内容。是否具有跨浏览器兼容性
var el = document.elementFromPoint(100, 100);
var $el = $(el); // if you really want to use jQuery.