offsetTop屬性應返回對象的絕對位置。當我使用表中的對象時它很好用,但是如果對象在表內返回,那麼它總是返回1.爲什麼會發生以及如何避免它?HTML/Javascript-爲什麼我不能在表格中使用offsetTop for div?
看到的問題示例: http://jsfiddle.net/6Y7qp/
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<div id='a' >a
<table style='border:solid thin black'>
<tr>
<td>
<div id='b'>b in table</div>
</td>
</tr>
</table>
<button onclick="document.getElementById('p').innerHTML='offsetTop:\na='+document.getElementById('a').offsetTop+'\nb='+document.getElementById('b').offsetTop">Show Off Set Top</button>
</div>
<pre id='p'>
</pre>
在此示例中,我需要得到 「A」 和 「B」 的offsetTop,但它總是在我的Firefox和Chrome瀏覽器返回1 「B」
使用element.getBoundingClientRect()有更全面的定位方法 – dandavis