P粉3602660952023-08-23 10:35:44
由於這是專門為jQuery標記的 -
$("#myElement")[0].getBoundingClientRect();
或
$("#myElement").get(0).getBoundingClientRect();
(這兩者在功能上是相同的,在一些舊瀏覽器中,.get()
稍微快一些)
請注意,如果您嘗試透過jQuery呼叫來取得值,它將不會考慮任何css變換值,這可能會導致意外的結果...
注意2:在jQuery 3.0中,它已經改為使用適當的getBoundingClientRect()
呼叫來進行自身的尺寸呼叫(請參閱jQuery Core 3.0升級指南) -這意味著其他jQuery答案最終將始終正確- 但僅在使用新的jQuery版本時才正確- 這就是為什麼它被稱為破壞性變更的原因...
P粉6499902732023-08-23 00:55:18
你可以透過呼叫getBoundingClientRect方法來取得任何元素的邊界框。
var rect = document.getElementById("myElement").getBoundingClientRect();
這將傳回一個具有left、top、width和height欄位的物件。