Jos*_*osa 1 html javascript jquery getelementbyid
在今天之前,我认为getElementById和$('#element')完成了同样的事情.但是,当我尝试以下内容时:
// Assuming I have jQuery imported already
var $scrollHolder = $('#element');
var scrollDiv = document.getElementById("element");
scrollDiv.scrollTop = scrollDiv.scrollHeight;
//$scrollHolder.scrollTop = $scrollHolder.scrollHeight;
Run Code Online (Sandbox Code Playgroud)
评论的行不起作用,并且没有注释的行.上面列出的两种方法是否会返回不同的内容,或者我的代码中是否有错误?评论专线应该有效吗?我很困惑,很欣赏洞察力.谢谢.
你必须从jQuery Object获取DOM元素
$scrollHolder[0].scrollTop = $scrollHolder[0].scrollHeight;
Run Code Online (Sandbox Code Playgroud)
要么
$scrollHolder.get(0).scrollTop = $scrollHolder.get(0).scrollHeight;
Run Code Online (Sandbox Code Playgroud)
$('#element');是jQuery对象.它创建一个匹配的对象数组.但是在这里你有id-selector所以你只能获得一个Object,你可以通过使用数组索引[index]或使用来引用Native DOM对象.get(index).
document.getElementById("element"); 是本机DOM对象
FYI
jQuery的做法.
$scrollHolder.scrollTop($scrollHolder.prop('scrollHeight'));
Run Code Online (Sandbox Code Playgroud)