Подтвердить что ты не робот

Использование jQuery для поиска элемента в определенной позиции?

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

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

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

4b9b3361

Ответ 1

Вы ищете метод .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/

Ответ 2

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

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

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