我有很多动态创建的元素,只要它获得z-Index ++,所以最新的元素随时都在上面。当点击其中一个时,他的z-Index max + 1。所以我需要获得元素,这是最重要的,我该怎么做?
原生JS只请。谢谢
答案 0 :(得分:6)
不要试图找到它 - 你需要迭代所有的DOM。在动态创建它们时,只需保存对它的引用并每次更新它。或者只将当前最高z-index
值存储在max
变量中。
答案 1 :(得分:1)
假设您只在样式属性
中应用z-indexvar elems = document.body.getElementsByTagName("*");
var largest;
var check = 0;
for(i=0;i<elems.length;i++){
if(elems[i].style.zIndex > check){
check = elems[i].style.zIndex;
largest = elems[i];
}
}
// largest is the element
// check is the z-index value of the element with largest z-index
获取元素的计算样式似乎是webkit浏览器中的问题,例如chrome和safari,因为它返回auto,这是一个主要的问题,因为chrome特别是现在是一种流行且广泛使用的浏览器。所以现在我建议如果你想这样做,在样式属性中应用z-index,直到修复bug为止
答案 2 :(得分:0)
这是最佳解决方案
select "CustomerID",
count(DISTINCT "OrderID") as OrderCount,
count(DISTINCT case when "ReturnFlag" = 1 then "OrderID" end) as ReturnCount
from "Customer"
group by "CustomerID";