javascript - Javascript html在特定元素下方或上方(相交)视觉上查找所有元素
问题描述
有没有办法找到特定元素上方/下方或相交的所有其他 html 元素?
我想确保该元素显示在所有其他元素之上,因此我想找到所有相交元素并将元素设置为z-index
比所有其他元素都大的值z-index
。
解决方案
这是一种解决方案,假设元素已z-index
设置其style
属性而不是 css 中的计算机:(代码在打字稿中)
export function getMaxZIndexOfOverlappingElements(target: HTMLElement): number {
const zIndexElements = Array.from(document.querySelectorAll("*[style*=z-index]"))
let zIndex = 0
zIndexElements.forEach(el => {
if (el instanceof HTMLElement && overlap(target, el)) {
try {
zIndex = Math.max(zIndex, parseInt(firstNotEmpty(el.style.zIndex, "0")))
} catch (e) {
// skip invalid zIndex value
}
}
})
return zIndex
}
推荐阅读
- python-3.x - Python .execute() 不执行 Postgresql 查询
- excel - 模拟指向另一个表中相应单元格的超链接
- python - ValueError:在 jupyter notebook Windows 中加载 .bin 模型 fasttext 时向量太长
- r - R中的特征值分解
- javascript - 为什么 console.log 没有在 VS 代码终端中打印任何内容并打开命令提示符?
- laravel - Laravel API 调用数据未在远程服务器上按预期返回,但在本地机器上工作正常
- javascript - Using mat4 attribute in WebGL2
- node.js - 尝试通过一笔交易购买多件商品时出错
- python - 如何为这些“简单”图像编写图像拼接软件?
- sweetalert - Sweet alert toastre 动画.. 淡入