2013-06-22 4 views
1

Как найти позицию элемента со значением свойства CSS JQueryнайти позицию элемента со значением свойства CSS JQuery

<ul> 
    <li style="z-index:8">aa</li> 
    <li style="z-index:4">bb</li> 
    <li style="z-index:7">cc</li> 
</ul> 

так, как я могу найти положение элемента с z-index : 4

+0

Вы имеете в виду положение на странице или месте в списке? –

ответ

5

Это зависит от того, что вы имеете в виду под «положением», но если это положение среди своих братьев и сестер, я хотел бы предложить:

var index = $('li').filter(function(){ 
    return $(this).css('z-index') == '4'; 
}).index(); 

Принимая во внимание, если это положение на странице:

var position = $('li').filter(function(){ 
    return $(this).css('z-index') == '4'; 
}).position(), 
    xCoord = position.left, 
    yCoord = position.top; 

Или положение по отношению к его смещению родителя:

var offset = $('li').filter(function(){ 
    return $(this).css('z-index') == '4'; 
}).offset(), 
    xCoord = offset.left, 
    yCoord = offset.top; 

Вы помните, и я говорю это с запозданием, что, чтобы получить не- auto из объявления свойства z-index, вам необходимо установить свойство position на другое значение, чем (по умолчанию) static (relative, например, или absolute).

Ссылки:

+1

это полный ответ, thx –

+0

Большое спасибо :) –

+0

@DavidThomas Пробовал это на скрипке, но '.css()' возвращает 'auto'' ----> 'http://jsfiddle.net/M2DZ6/ –

3

Попробуйте как этот

$("li").each(function(){ 
     if($(this).css('z-index') == "4") { 
      alert("The index is " + $(this).index()); 
     } 
}); 

Вы можете также использовать positon для левой и верхней позиции, как

var lft = $(this).position().left; 
var rght = $(this).position().top;