如何通过jQuery找到元素的z-index值?
即: 我有2个div,两个都是绝对的,z-index分别为10,1000。
但不幸的是,IE6显示第二个div,其中z-index 1000低于第一个。
所以我想在IE6中检查运行时第二个和第一个的z-index值。
请帮忙。
答案 0 :(得分:23)
答案 1 :(得分:4)
如果他们有ID(例如,您可以找到任何选择器),请使用.css()
,如下所示:
var zIndex = $("#div1").css('z-index');
或者更完整:
alert("Div 1 zIndex: " + $("#div1").css('z-index'));
alert("Div 2 zIndex: " + $("#div2").css('z-index'));
答案 2 :(得分:4)
与css()功能类似吗?
alert($('#my_object_id').css('zIndex'));
答案 3 :(得分:3)
您可以使用$('selector').zIndex()
。
请勿使用$('selector').css('z-index')
。它只会告诉你在样式表中设置了什么(如果有的话)。它可能只是说" auto"。
答案 4 :(得分:2)
答案 5 :(得分:1)
$(elem).css('z-index');
此外,您在哪里设置z索引。如果它是内联样式而不是样式块,那么您可能会看到不同的结果。所以:
<div style="z-index: 1000">..</div>
vs
<style>
div {
z-index: 1000;
}
</style>
可能会给出不同的结果。另外,请记住,按照你的逻辑进行操作是徒劳的。
答案 6 :(得分:0)
像
这样的东西var zindex = $("#id").css("z-index");
答案 7 :(得分:0)
使用zIndex而不是z-index。
$( '选择')的CSS( 'zIndex的');
答案 8 :(得分:0)
答案 9 :(得分:0)
除了使用
$('selector').css('z-index')
您必须将样式中的postion:absolute
或position:relative
添加到您想要获得的z-index元素中。
答案 10 :(得分:0)
我做了一个简单的递归函数,以获取确切的数字zIndex值
function getRecursiveParentZIndex(jqThis) {
try {
let thisTagName = jqThis.prop('tagName');
let thisZIndex = jqThis.css('z-index');
if (thisZIndex == '' || thisZIndex == 'auto') {
thisZIndex = 0;
if (thisTagName != 'HTML') {
let newZIndex = getRecursiveParentZIndex(jqThis.parent());
thisZIndex = newZIndex;
}
}
return +thisZIndex;
} catch (error) {
console.log('parent Z Index error', error);
return 0;
}
}
let correctZindex = getRecursiveParentZIndex(jQuery('.your-selector'));
这将以数字形式返回正确的z-index值。 (请注意,我使用的是ES6语法)