Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据图元的位置选择图元?_Javascript_Jquery - Fatal编程技术网

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.