2012-05-03 16 views
1

テーブルに位置要素を取得する必要があります。 しかし、function position()は私を他のデータに返します。要素ごとに左の位置を取得する方法

img-name elemnt。 i = 0;

alert('0 ' + $(img + i).attr('style')); 

var position = $(img + i).position(); 
var left = Math.round(position.left); 

alert('1 left= ' + left); 
alert('1 ' + $(img + i).attr('style')); 
$(img + i).attr('style', 'position:absolute;display:block;left:' + left + 'px;top:' + position.top + 'px;'); 
alert('2 ' + $(img + i).attr('style')); 

トレース:

0位置:絶対;表示:ブロック;左:289px;上部:0PX。

1左= 582

1位置:絶対;表示:ブロック;左:289px;上部:0PX。

2位置:絶対;表示:ブロック;左:582ピクセル;上:159.0833282470703ピクセル;

更新: HTML:

<table cellpadding="0" id="target" cellspacing="0" width="602" height="500" style="float: left; 
     margin: 0px; padding: 0px; position: relative; background: url(/content/games/kamikaze2/back.jpg) no-repeat 0 0;"> 
     <tbody> 
      <tr> 
       <td valign="top"> 
        <img id="stone_0" src="/content/games/kamikaze2/stone0.gif" width="31" height="28" 
         class="c" onclick="go()" > 
</td> 
</tr> 
</tbody> 
</table> 
+0

あなたには、いくつかのマークアップを提供することができます。 – VisioN

+0

"$(img + i)"?それは奇妙だ。 imgとは何ですか? –

+0

img - this var "stone_" – Mediator

答えて

0
var position = $(img + i).position(); 
var left = Math.round($(img + i).css("left"));