2014-04-02 113 views
-1

我有一個溢出元素

<div class="conversation" id="conversation" data-pUserName="'.$p_username.'" data-userName="'.$username.'" > 
</div> 

,並嘗試以定位滾動條在默認情況下

$("#conversation").scrollTop($("#conversation")[0].scrollHeight); 

底部的問題是,我必須使用$("#conversation")[0].scrollHeight爲了讓連我的ID選擇元素它的工作,我試圖用$("#conversation").scrollHeight和它不工作。 「[0]」我認爲是.get(0)的捷徑,並返回所選元素的第一個元素(我認爲只有當元素是一個類時,纔會返回第一個元素)

回答

0

這是因爲scrollHeight不是jQuery方法,它是一個DOM屬性。

所以你需要一個DOM對象才能獲得scrollheight的值。

$("#conversation")會爲您提供jQuery對象,因此$("#conversation")[0]可以幫助您在此情況下將此jQuery對象轉換爲DOM元素。

+0

非常感謝,我明白了 –

2

因爲你在工作與一個jQuery對象($('#id'))和scrollHeight是DOM對象的屬性,而不是jQuery對象。您也可以使用jQuery prop函數:$('#id').prop('scrollHeight')

0

您必須使用[0],因爲當您使用jQuery時,實際上並未選擇該元素。您正在選擇一個包含該元素的jQuery對象。由於scrollHeight不是jQuery對象的屬性,而是實際元素的屬性,因此您需要使用[0]來引用實際元素。

相關問題