如果我有一堆绝对定位的div并且它们重叠,我怎么能得到一个特定的div来到前面?再次感谢你们!
答案 0 :(得分:40)
这是一个CSS的东西,而不是jQuery的东西(尽管你可以使用jQuery来修改css)。
$('element').css('z-index', 9999); // note: it appears 'zIndex' no longer works
或者,绝对定位会带来一些东西:
$('element').css('position', 'absolute');
答案 1 :(得分:25)
使用jQuery (就像你问的那样):
$('#a-div').parent().append($('#a-div')); // Pop a div to the front
每个人都对z-index感到奇怪。为什么要在DOM中将它弹出到前面时覆盖自然堆叠顺序?
答案 2 :(得分:17)
当您使用多个元素时,您必须循环查看哪个具有最高的z-index,并将顶部设置为+ 1。
http://jsfiddle.net/forresto/Txh7R/
var topZ = 0;
$('.class-to-check').each(function(){
var thisZ = parseInt($(this).css('zIndex'), 10);
if (thisZ > topZ){
topZ = thisZ;
}
});
$('.clicked-element').css('zIndex', topZ+1);
对于非CSS版本(如果没有指定z-index的图层),您也可以再次追加该元素:
$('.click-to-top').click(function(){
$(this).parent().append(this);
});
(我不知道这是否比使用CSS z-index
慢。)
对于非CSS非jQuery,只需再次附加它:
// var element = document...;
element.parentNode.appendChild(element);
答案 3 :(得分:2)
element.style.zIndex = Date.now();
答案 4 :(得分:1)
使用.css()并应用位置属性和z-index属性。
答案 5 :(得分:1)
为此使用jQuery会有点过分。而是使用CSS'z-index property:
<style type="text/css">
#myElement {
z-index: 50000;
}
</style>