使用jQuery在特定位置查找元素?

Tho*_*ohn 49 javascript jquery

jQuery中有一个方法可以选择位于特定位置的元素吗?

例如,我可以选择位于左侧的元素:100和顶部:300处于绝对位置?

如果我可以选择位于一系列位置的元素,那将是很好的,例如,选择位于左侧的元素:100 - 150 px top 200 - 280px.

jAn*_*ndy 83

您正在寻找.elementFromPoint()JavaScript/DOM方法.

var elem = document.elementFromPoint(100, 100) // x, y
Run Code Online (Sandbox Code Playgroud)

返回a DOM node,当然可以将其包装到jQuery对象中:

$(elem).remove(); // for instance
Run Code Online (Sandbox Code Playgroud)

我不是那么了解跨浏览器的兼容性,我希望有些人能够更好地编辑这篇文章或撰写评论.

参考:.elementFromPoint()

示例链接:http://www.jsfiddle.net/YjC6y/22/

  • 哇!从来不知道.外观极好!每天学些新东西. (4认同)

Cee*_*man 11

如果您知道相对于文档的确切坐标:

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

另一个答案在第一个叠加处停止.

  • 在`.find("*")中将`:visible`添加到选择器可能在某些应用程序中有用 (2认同)