js
function getElementsInRange(startX, startY, endX, endY) {
const elementsSet = new Set(); // 用于存储所有元素
// 遍历范围内的每个坐标点
for (let x = startX; x <= endX; x++) {
for (let y = startY; y <= endY; y++) {
// 获取该坐标点的所有元素
const elements = document.elementsFromPoint(x, y);
// 将元素添加到 Set 中(自动去重)
elements.forEach(element => elementsSet.add(element));
}
}
// 将 Set 转换为数组并返回
return Array.from(elementsSet);
}
// 示例:获取左上角 (100, 100) 到右下角 (200, 200) 范围内的所有元素
const elementsInRange = getElementsInRange(100, 100, 200, 200);
console.log(elementsInRange);