Используя jQuery, чтобы найти элемент в определенной позиции?
Есть ли в jQuery метод для выбора элемента, расположенного в определенной позиции?
Например, я могу выбрать элемент, который расположен слева:100 и сверху:300 в абсолютном положении?
Было бы хорошо, если бы я мог выбрать элемент, расположенный в диапазоне позиций, например, выбрать элемент, который расположен слева: 100 - 150 пикселей сверху 200 - 280 пикселей.
2 ответа
Вы ищете .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/
При условии, что вы знаете точные координаты относительно документа:
function getElsAt(top, left){
return $("body")
.find("*")
.filter(function() {
return $(this).offset().top == top
&& $(this).offset().left == left;
});
}
Другой ответ останавливается на первом наложении.