我的场景是,我将数据流式传输到行中,以便在div中显示。
因此,对于我收到的每一行,我都创建了一个span,然后将其附加。
但是,我希望将div限制为最多100行/ span元素。
因此,如果我接收到新数据,最旧的元素将被删除,以便为新元素腾出空间。
关于如何通过jquery实现这一点有什么建议吗?
这是我当前的代码,只是追加而已。
dlogsocket.onmessage = function (event) {
$("#ws-dlog-data").append(event.data);
};
发布于 2019-04-20 02:34:27
您可以检查元素的子元素编号,如果它已经是100,则在追加新元素之前删除第一个元素:
dlogsocket.onmessage = function (event) {
var $container = $("#ws-dlog-data");
while ($container.children().length >= 100)
$container.children().first().remove();
$("#ws-dlog-data").append(event.data);
};
发布于 2019-04-20 02:38:06
您必须计算存在多少个元素,并使用.first()
删除第一个元素,它应该是最旧的。
dlogsocket.onmessage = function (event) {
$("#ws-dlog-data").append(event.data);
// If more than 100 spans, remove the first (oldest).
if( $("#ws-dlog-data span").length >100 ){
$("#ws-dlog-data span").first().remove();
}
};
https://stackoverflow.com/questions/55766174
复制相似问题