我有一个溢出元素
<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 :(得分:2)
因为您正在使用jQuery对象($('#id')
),而scrollHeight
是DOM对象的属性,而不是jQuery对象。您还可以使用jQuery prop
函数:$('#id').prop('scrollHeight')
。
答案 1 :(得分:0)
这是因为scrollHeight
不是jQuery方法,它是一个DOM属性。
因此,您需要一个DOM对象才能获得scrollheight
值。
$("#conversation")
将为您提供jQuery对象,因此$("#conversation")[0]
可帮助您将此jQuery对象转换为DOM元素。
答案 2 :(得分:0)
你必须使用[0]
因为当你使用jQuery时,你实际上并没有选择元素。您正在选择包含该元素的jQuery对象。因为scrollHeight
不是jQuery对象的属性,而是实际元素的属性,所以需要使用[0]
来引用实际元素。