Подтвердить что ты не робот

Есть ли способ в jQuery привести div к фронту?

Если бы у меня была куча абсолютных позиционированных divs, и они накладывались друг на друга, как бы я мог получить некоторый div, чтобы выйти на фронт? Еще раз спасибо ребятам!

4b9b3361

Ответ 1

Это вещь CSS, а не вещь jQuery (хотя вы можете использовать jQuery для изменения css).

$('element').css('z-index', 9999);  // note: it appears 'zIndex' no longer works

Или абсолютное позиционирование привнесет что-то в начало:

$('element').css('position', 'absolute');

Ответ 2

С jQuery (как вы просили):

$('#a-div').parent().append($('#a-div')); // Pop a div to the front

Странно, как все пошли с z-индексом. Зачем отменять естественный порядок укладки, когда вы можете просто поместить его на передний план в DOM?

Ответ 3

Когда вы работаете с несколькими элементами, вам нужно будет просмотреть и узнать, какой из них имеет самый высокий z-индекс, и установите верхнюю часть на это + 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), вы также можете просто добавить этот элемент еще раз:

$('.click-to-top').click(function(){
  $(this).parent().append(this);
});

(я не знаю, медленнее, чем с CSS z-index.)

Для не-CSS-не-jQuery просто добавьте его еще раз:

// var element = document...;
element.parentNode.appendChild(element);

Ответ 4

Используйте .css() и примените атрибут позиции и атрибут z-index.

Ответ 5

Было бы излишним использовать jQuery для этого. Вместо этого используйте CSS свойство z-index:

<style type="text/css">
  #myElement {
    z-index: 50000;
  }
</style>