2

ULは5つの要素を持つ1つの要素を持っていLIます:

ul{
    width: 200px;
    height: 100%;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    overflow-x: hidden;
    list-style: none;
    margin-left: 3px;
}

li{
    position: relative;
    height: 50px;
    width: 193px;
    left: 0;
    right: 0;
    margin: 10px 0;
    cursor: pointer;
}

LIからすべてのピクセル値を取得したいのですULが、このコードを使用すると:

$('ul li').each(function(){
    console.log($(this).css('top'));
});

それは私にこれを示しているだけです: 'auto'、なぜですか?

4

2 に答える 2

3

.position() を使用できます。:nth-child を使用して特定の li を選択することもできます。

$('ul li').each(function(){
   var position = $(this).position();

   console.log(position.top);
   console.log(position.left);
});
于 2013-09-01T07:01:11.893 に答える
1

ドキュメントに対する相対的な位置を取得する場合はオフセットを使用し、コンテナー要素に対する相対的な位置を取得するには位置を使用します。

$('ul li').each(function() {
   var position = $(this).position();    // to get top value relative to container
   position = $(this).offset();          // to get position top relative to document
});
于 2013-09-01T07:18:22.177 に答える