Используя jQuery, чтобы найти элемент в определенной позиции? - PullRequest
49 голосов
/ 15 октября 2010

Есть ли в jQuery метод для выбора элемента, расположенного в определенной позиции?

Например, можно ли выбрать элемент, расположенный слева: 100 и верх: 300 в абсолютном положении?

Было бы неплохо, если бы я мог выбрать элемент, расположенный в диапазоне позиций, например, выбрать элемент, расположенный слева: 100 - 150 пикселей сверху 200 - 280 пикселей.

Ответы [ 2 ]

83 голосов
/ 15 октября 2010

Вы ищете .elementFromPoint() метод JavaScript / DOM.

var elem = document.elementFromPoint(100, 100) // x, y

Возвращает DOM node, который, конечно, затем может быть заключен в объект jQuery:

$(elem).remove(); // for instance

Я не очень осведомлен о кросс-браузерной совместимости, и я хотел бы, чтобы некоторые парни, которые знают лучше, отредактировали этот пост или написали комментарий к нему.

Ссылка: .elementFromPoint ()

Пример ссылки: http://www.jsfiddle.net/YjC6y/22/

10 голосов
/ 01 октября 2013

При условии, что вы знаете точные координаты относительно документа:

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

Другой ответ останавливается на первом наложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...