2014-04-02 72 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]来引用实际元素。

相关问题