我已经很好地工作了,但是autoscroll拒绝工作......任何想法为什么?
PS我只想使用jQuery ... commentsList
在commentsPanel
$.ajax({
url: 'comments.php',
type: 'POST',
data: data,
cache: false,
success: function (comments_html) {
$('#commentsPanel').html(comments_html);
var commentsList = document.getElementById('#commentsList');
commentsList.scrollTop = commentsList.scrollHeight;
$('#loading').hide();
}
});
谢谢!
<div id="commentsPanel">
<table width="260" height="220" border="0" cellpadding="3">
<tr><td height="5"></td><td><span style="text-align:right;"><a href="#close" rel="close_comment">Close</tr>
<tr><td height="220" valign="top">
<div id="commentsList" style="overflow: auto; width: 260px; height: 220px; text-align=left">
<!-- CONTENT -->
</div>
</td></tr>
<tr><td height="50">
<form id="new_comment" name="comment_form" method="post" action="comments.php">
<input type="hidden" id="trackID" value="' . $track . '">
<input type="text" size="25" id="new_comment_text" /><span style="text-align:right">
<input type="submit" value="Comment" id="submit_comment"/></span>
</form>
</td></tr>
</table>
</div>
答案 0 :(得分:2)
使用var commentsList = document.getElementById('#commentsList');
时,您不需要包含#
var commentsList = document.getElementById('commentsList');
答案 1 :(得分:1)
好笑,你说:“我只想使用jQuery”然后你使用document.getElementById()
。
你正在将jQuery与DOM方法混合在一起。改变这一行:
var commentsList = document.getElementById('#commentsList');
到此:
var commentsList = $('#commentsList');
答案 2 :(得分:1)
$.ajax({
url: 'comments.php',
type: 'POST',
data: data,
cache: false,
success: function (comments_html) {
$('#commentsPanel').html(comments_html);
var commentsList = $('#commentsList'); //<- changed
commentsList.scrollTop(commentsList.scrollHeight()); //<- add brackets here
$('#loading').hide();
}
});
答案 3 :(得分:0)
你说commentsList
commentsPanel
内的,但是你用这一行替换commentsPanel
内的所有内容:
$('#commentsPanel').html(comments_html);
您确定当时commentsList
确实存在吗?在var commentsList = ...
行之后添加以下内容。
console.log(commentsList);
确保它确实存在。