0

我从这个函数中收到一个错误

function scrolldown() {
$("#chatArea").scrollTop($("#chatArea")[0].scrollHeight);
}

费勒:类型错误:$(...)[0] 未定义

此脚本在 ajax 查询中调用以更新聊天框以滚动到底部

function refreshChat()
{       
      $.ajax({
          type: "POST",
          url: "ajax/sb.php",
           success: function(msg){
                $("#chatArea").html(msg);
                scrolldown();
           }
      });
}

每 5 秒更新一次

window.setInterval("refreshChat()",5000);

有什么建议么?

4

2 回答 2

0

尝试这个

function scrolldown() {
    $("#chatArea").scrollTop($("#chatArea").get(0).scrollHeight);
}
于 2013-10-01T12:22:57.660 回答
0

我相信这应该有效

function scrolldown() {
    $("#chatArea").scrollTop(document.getElementById('chatArea').scrollHeight);
}

$("#chatArea")[0]去掉 using将使用 jQuery 返回 dom 元素的事实。但无论出于何种原因,它似乎都返回了一个错误。

编辑

我的回答已解决了原始问题,但您已更新:

 TypeError: document.getElementById(...) is null 

这基本上意味着找不到该元素。总之函数运行$("#chatArea")的时候不在DOM中。它不存在。请确保$("#chatArea")在函数运行时可用。

于 2013-10-01T12:20:48.667 回答