在 JavaScript 中获取 DIV 的 z 索引?

问题描述 投票:0回答:3

我有一个 div

normaldiv1
,班级为
normaldiv
。 我试图通过 style 属性访问它的 z-index,但它总是返回 0,尽管它在样式表中设置为 2。

CSS:

.normaldiv
{
    width:120px; 
    height:50px; 
    background-color:Green;  
    position: absolute;
    left: 25px;
    top:20px;
    display:block;
    z-index:2;
}

`

HTML:

<div id="normaldiv1" 
     class="normaldiv" 
     newtag="new" 
     tagtype="normaldiv1" 
     onmousedown="DivMouseDown(this.id);" 
     ondblclick="EditCollabobaTag(this.id,1);" 
     onclick="GetCollabobaTagMenu(this.id);" 
     onblur="RemoveCollabobaTagMenu(this.id);">

JavaScript:

alert(document.getElementById('normaldiv1').style.zIndex);

如何使用 JavaScript 查找元素的 z-index?

javascript html z-index
3个回答
25
投票

由于 CSS 部分中提到了 z 索引,因此您将无法直接通过您提到的代码来获取它。您可以使用以下示例。

function getStyle(el,styleProp)
{
    var x = document.getElementById(el);

    if (window.getComputedStyle)
    {
        var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp); 
    }  
    else if (x.currentStyle)
    {
        var y = x.currentStyle[styleProp];
    }                     

    return y;
}

传递你的元素 id 和 style 属性来访问该函数。

例如:

var zInd = getStyle ( "normaldiv1" , "zIndex" );
alert ( zInd );

对于 Firefox,您必须传递 z-index 而不是 zIndex

var zInd = getStyle ( "normaldiv1" , "z-index" );
 alert ( zInd );

参考


11
投票

试试这个

window.getZIndex = function (e) {      
  var z = window.getComputedStyle(e).getPropertyValue('z-index');
  if (isNaN(z)) return window.getZIndex(e.parentNode);
  return z; 
};

用法

var myZIndex = window.getZIndex($('#myelementid')[0]);

(如果父进程获得root权限,它将返回0)


0
投票

这可以帮助:

const myElement = document.getElementById('elementID');
const elementZIndex = myElement.style.Zindex;
© www.soinside.com 2019 - 2024. All rights reserved.