在jQuery中有一种方法可以将div带到前面吗?

时间:2010-07-13 00:03:05

标签: jquery css jquery-ui jquery-plugins

如果我有一堆绝对定位的div并且它们重叠,我怎么能得到一个特定的div来到前面?再次感谢你们!

6 个答案:

答案 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>