今天在項目里用到一個jQuery的時間插件,一開始自己寫的測試demo完全么的問題
但當我把它放到項目里時問題來了,報了一個錯:Cannot read property 'top' of undefined
html代碼是這樣的:↓
<div class="inputLine" > <input type="text" id="portInDate" placeholder="Expected Port-in Date" value=""> <i class="date"></i> </div>
點到時間庫里看了一下
大概意思就是jquery獲取到該元素的offset()里沒有top這個屬性,也就是獲取不到該元素距離文檔頂部的距離
這是為什么呢?
input外層div的position屬性是relative
div中position:relative與position:absolute的區別
position:absolute是通過left和top定位的,而position:relative是通過margin-left等定位的,所以子元素獲取不到top屬性。
然后我把代碼改了一下↓把id放在了div上
<div class="inputLine" id="portInDate"> <input type="text" placeholder="Expected Port-in Date" value=""> <i class="date"></i> </div>
然后運行
good