0

この関数からエラーが発生しました

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

Fehler: TypeError: $(...)[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(document.getElementById('chatArea').scrollHeight);
}

using$("#chatArea")[0]が jQuery で dom 要素を返すという事実を取り除きます。しかし、何らかの理由でエラーが返されているようです。

編集

私の答えは元の問題を修正しましたが、次のように更新しました:

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

これは基本的に、要素が見つからないことを意味します。要するに、関数が実行されるとき$("#chatArea")はDOMにありません。それは存在しない。$("#chatArea")関数の実行時に が使用可能であることを確認してください。

于 2013-10-01T12:20:48.667 に答える
0

これを試して

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