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

基本的に、Zインデックスが最も高いdivを確認し、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 $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

これでそこに着きます:

$(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

ワーキングデモ

$.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 に答える