1

我需要通过检查 z-index 找到最上面的 div:

<div>
<div id="box_1">some image</div>
<div id="box_444">some image</div>
<div id="box_555">some image</div>
<div id="box_888">some image</div>
<div id="box_999">some image</div>
</div>

我能解释的最好方法就像在黑暗中洗牌一副图像而不知道哪个图像在上面。基本上我需要检查哪个 div 具有最高的 z-index 并通过 div 的 id 来识别。

任何 jquery 专家可以帮助我吗?

谢谢。

4

5 回答 5

3

基本上我需要检查哪个 div 具有最高的 z-index 并通过 div 的 id 识别

你在寻找这样的东西吗?

var allDivs = $('div div');
var topZindex = 0;
var topDivId;
allDivs.each(function(){
    var currentZindex = parseInt($(this).css('z-index'), 10);
    if(currentZindex > topZindex) {
        topZindex = currentZindex;
        topDivId = this.id;
    }
});

console.log(topDivId);
console.log(topZindex);

http://jsfiddle.net/emLcY/

于 2012-09-18T22:29:01.197 回答
1

尝试这个

var greatest = 0;
var greatestDiv;

$('div').each(function(){
    if($(this).css('z-index') > greatest){
        greatest = $(this).css('z-index');
        greatestDiv = $(this).attr('id');
    }
})

console.log(greatest);
console.log(greatestDiv);
于 2012-09-18T22:32:32.187 回答
1

将使您到达那里:

$(function(){
    var highest = -1, el = null;
    $('div[id^="box"]').each(function(){

        var z = parseInt($(this).css('z-index'), 10);

        if (z > highest) { 
            el = this;
            highest = z;                    
        }
    });

    console.log('the highest is:', el)
});​
于 2012-09-18T22:37:13.913 回答
1

尝试这个

$(function() {
    var $divs = $('div > div');   
    var maxId = '';
    var max = 0;

    $.each($divs, function(i){
       var a = $($divs[i]).css('z-index');
        console.log(a);
        if(parseInt(a) > parseInt(max)){
           max = a;
           maxId = $(this).attr('id');
        }
    });    
    alert(maxId);
});
​
于 2012-09-18T22:40:04.280 回答
1

工作演示

$.fn.topmost = function () {
    var positionedDivs = this.filter( function() {
        return !isNaN( parseInt( $(this).css("z-index"), 10 ) );
    });
    var topElem = positionedDivs.first();

    positionedDivs.each( function() {
        if ( $(this).css('z-index') > +topElem.css("z-index") ) {
            topElem = $(this);
        }
    });

    return topElem.get(0) || this.get(0);
};

$(function() {
    var topDiv = $('div > div').topmost();
    console.log( topDiv.id )
});​
于 2012-09-18T22:48:11.010 回答