Javascript 如何替换可滚动div的内容而不跳到顶部?
我有一个带有Javascript 如何替换可滚动div的内容而不跳到顶部?,javascript,jquery,Javascript,Jquery,我有一个带有溢出:auto样式的div。它通过AJAX填充一个结果表。这个div中的行是可编辑的,每次编辑我都会刷新内容。问题是,如果用户编辑了div底部的内容,刷新会将它们带回顶部 我在Firefox中使用了一些锚,但并不是所有版本的IE都能在div中使用锚 有没有办法在不让滚动条跳转到顶部的情况下替换这样一个div的内容?还有其他建议吗?如果可能的话,我喜欢刷新整个结果集,而不仅仅是更新的行,但是如果没有解决办法,我想我会继续这样做。在更改数据之前,存储scrollTop属性,然后恢复它 像
溢出:auto
样式的div。它通过AJAX填充一个结果表。这个div中的行是可编辑的,每次编辑我都会刷新内容。问题是,如果用户编辑了div底部的内容,刷新会将它们带回顶部
我在Firefox中使用了一些锚,但并不是所有版本的IE都能在div中使用锚
有没有办法在不让滚动条跳转到顶部的情况下替换这样一个div的内容?还有其他建议吗?如果可能的话,我喜欢刷新整个结果集,而不仅仅是更新的行,但是如果没有解决办法,我想我会继续这样做。在更改数据之前,存储scrollTop属性,然后恢复它 像这样:
var oldScrollTop = div.scrollTop;
div.innerHTML = "new content";
div.scrollTop = oldScrollTop;
好主意。在我的情况下,这有点棘手,因为刷新时返回的记录数不能保证相同,即滚动条可能需要与顶部的像素不同。我发现,在IE中使用页面锚实际上和Firefox一样有效,只是它们不能链接到元素。我将唯一的行ID移动到每行中的第一个行,这样做很有效。